זה ידוע כי בצורה ה- Native-ית ה-CodedUI מתממשק בצורה הטובה ביותר על האינטרנט אקספלורר, בכל זאת אותו אבא ואותה אמא (מייקרוסופט), אך האם ניתן להריץ את הבדיקה שלנו על דפדפן אחר, כרום למשל ?
התשובה היא – כן. אבל לשם כך נצטרך להתקין ולהגדיר כמה דברים לפני כן בשביל ששתי הקומפוננטות ינגנו ביחד.
אז מה עושים ?
תחילה יש לדעת כי התמיכה בדפדפני כרום מותאמת החל מגרסת Visual Studio 2012 Update 4 ומעלה (שזה אומר שזה כולל גם את 2013) , וגרסת כרום החל מ-38 ומעלה.
* הערה: בשביל להבין טוב יותר את הטמעת הסלניום בסביבת Visual Studio על כרום, כדאי קודם לקרוא את המדריך – הטסט הראשון שלי : Selenium WebDriver C#/Chrome
שלב 1:
נוריד תחילה את הקומפוננטה ל- CodedUI לעבוד עם Chrome , למען האמת זוהי קומפוננטה של סלניום אשר נקראת: Selenium components for Coded UI Cross Browser Testing ואותה ניתן להוריד מכאן.
ונתקין אותה על מחשבינו:
שלב 2:
נוריד למחשבינו את הגרסה העדכנית של הדרייבר של כרום מהאתר הרשמי שלהם
נשמור את הקבצים תחת ספריית:
למערכות 32 ביט – "%ProgramFiles%\Common Files\microsoft shared\VSTT\Cross Browser Selenium Components"
למערכות 64 ביט – "%ProgramFiles(x86)%\Common Files\microsoft shared\VSTT\Cross Browser Selenium Components"
ונוריד גם את ספריות סלניום העדכניות מהאתר הבא.
נשמור את הקבצים תחת אותה ספריה בה שמרנו את הדרייבר של כרום
שלב 3:
ניצור פרוייקט חדש ב-Visual Studio פרוייקט של CodedUI
נשייך את קבצי ה-Dll של הסלניום לפרוייקט ונתחיל את ההקלטה ב-CodedUI
במהלך ההקלטה נפתח את דפדפן הכרום ונבצע בתוכו פעולות (למשל כניסה לגוגל, חיפוש מילה מסויימת והקלקה על תוצאת חיפוש)
נסיים את ההקלטה עם לחיצה ב-Stop ואח"כ נחולל הקוד ע"י לחיצה על כפתור ה-Generate Code:
שלב 4:
במחלקה החדשה שנוצרה לנו בעקבות ההקלטה, נבחין כי במתודת ההרצה: CodedUITestMethod1 , ישנה קריאה למתודה במחלקת UIMap :
this.UIMap.myMethod();
לפני שורה זו נכניס את שורה הבאה:
BrowserWindow.CurrentBrowser = "Chrome";
כך:
זהו, נותר לנו כעת רק לשמור, לקמפל את הקוד ולנגן. ההרצה תתבצע על כרום כשה-CodedUI ידע לזהות את האלמנטים בתוכו.