
instanceof, למשל driver instanceof ChromeDriver, והתשובה היא ערך בוליאני.webdriver.chrome.driver, ואז יוצרים את אובייקט הדרייבר המתאים.if על instanceof, ומבצעים פעולה רק בדפדפן שנבחר. בענפי else if בודקים את הדפדפנים האחרים.הטקסט המלא של הדקות הראשונות בהרצאה «Instance of Driver» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. בסרטון הקרוב נדבר על הדרך שלנו לדעת עם איזה סוג דרייבר, עם איזה סוג דפדפן אנחנו עובדים במהלך הטסט שלנו. הכרנו בשיעורים האחרונים את היכולת שלנו בעצם להתחיל WebDriver ובעצם לקבוע עם איזה דפדפן אנחנו נבצע את הבדיקות שלנו.
אנחנו יכולים לעבוד עם Chrome, אנחנו יכולים לעבוד עם Microsoft Edge, אנחנו יכולים לעבוד עם Firefox, אבל לעיתים אנחנו נצטרך לדעת עם איזה דפדפן בעצם אנחנו בחרנו לעבוד.
לכאורה אנחנו שולטים בזה, אנחנו מחליטים עם איזה דפדפן אנחנו עובדים. אבל אנחנו נרצה לדעת איזה דפדפן בעצם אנחנו רצים איתו. למה אנחנו צריכים לדעת את זה?
לפעמים אנחנו נכתוב טסטים שמתאימים לפי סוג הדפדפן שלנו. חלק מההתנהגות של הטסטים יהיו מתאימים ל-Internet Explorer, וחלק אחר יתאימו ל-Firefox או ל-Chrome.
אנחנו נרצה לבצע את הבחירה הזאתי, את הבחירה של הפעולות על פי סוג הדפדפן. יש אפשרות כזאת שהדפדפנים בעצם מתנהגים באופן שונה, מעט שונה או שונה בהרבה מדפדפן אחר ולכן אנחנו נרצה לשלוט ביכולת שלנו להבין תוך כדי טסט במהלך המתודות שלנו איזה דפדפן אנחנו עובדים,
איך אנחנו יכולים לדעת עם איזה טסט, עם איזה דפדפן אנחנו מבצעים את הטסט שלנו. אנחנו יכולים לקבל ערך בוליאני לפי פעולה שאנחנו או איזושהי פעולה או שאלה שאנחנו נשאל את אובייקט הדרייבר שלנו.
תכף נראה את זה בדוגמה בדמו. הסינטקס כדי לבצע את הקבלת ערך בוליאני לפי סוג הדפדפן הוא driver instance of chrome driver, driver instance of firefox driver, או instance of edge driver.
אז בואו ניגש לדמו ונראה איך אנחנו יכולים לדעת תוך כדי ריצה עם איזה דפדפן אנחנו עובדים. אז אני ניגש לסביבת הקליפס שלי, זה סביבת הקליפס שלי, התחלתי קלאס, קראתי לו Instance of, ובעצם מה שהתחלתי בו זה מתודת הרצאה Public Static Void Main.
בחלק הזה אני אעשה את התחול של כל סוגי הדפדפנים שהכרנו, ובחלק הזה אני אבצע את הפעולת שאילתא על איזה סוג דפדפן אני עובד.
שוב במקרה הנוכחי זה לא בעיה כי הכל מרוכז בתוך קלאס מיין אחד אבל כשאנחנו עובדים עם הרבה קלאסים הרבה מתודות ואנחנו רוצים להפעיל איזושהי פעולה לפעמים נרצה לדעת עם איזה דרייבר אנחנו עובדים ייתכן שלא נדע בוודאות שאנחנו עובדים עם chrome או עם edge או עם firefox ונרצה לבצע שאלה ואז לבצע פעולה.
אז בואו נתחיל בזה שנתחיל את הדפדפנים שלנו. אז אנחנו מתחילים תמיד בכל שלושת המקרים בהגדרת משתנה מערכת send property ואנחנו מגדירים key לדוגמה ה-key שלה chrome הוא chrome webdriver.driver וה-value הוא רק שם הקובץ x זה אותו דרייבר שבעזרתו אנחנו מתממשקים עם הדפדפן אוקיי?
סיסטם סט פרופרטי חומר דרייבר דרייבר קרום אקזה ובשורה למטה אנחנו ממש נתחיל את הפעולה עצמה את האובייקט עצמו של הווב דרייבר אני מתחיל אובייקט מסוג ווב דרייבר קורא לה אינסטנט דרייבר שווה מיום וקרום דרייבר אוקיי אז יש לנו את הדפדפן הראשון אנחנו צריכים לייבא את ספריית הווב דרייבר מהסלניום ויש לנו עזרה כי עדיין לא השתמשנו בפעולות האלה אז
אז יש לנו פה את ה-chrome, בואו נעשה את אותה פעולה על ה-edge, edge זה הבראוזר החדש של מייקרוסופט שמחליף את האינטרנט אקספלורר, ואנחנו רוצים להתחיל את המשתנה מערכת, ונשנה את השם של המשתנה מערכת System Set Property Edge, משתנה מערכת צריך להיות בצורה כזאת, WebDriver Edge Driver, וכאן אני צריך לתת את
המסלול של איפה הוא נמצא הדרייבר שלי, תמיד אני ממקם אותו באותו מקום c jars drivers וממש מגיע למיקום של הקובץ שזה Microsoft WebDriver וכאן אני WebDriver ואני קורא לו אדג' דרייבר ולא חום דרייבר.
יש לי פה את האתחול כבר של ה-WebDriver ולכן הוא צועק אז בואו נתחיל אותו מחוץ למשתנה שלי אז יש לנו אתחול אחד ואנחנו יכולים לבצע כמה פעולות עם הדרייבר שלנו כרגע אנחנו משאירים פתוח גם את החור וגם את האדג' ואנחנו נצטרך להחליט עם איזה אנחנו רוצים תכף נבצע קומנט על אחד מהם ובוא
נעשה גם את אותה פעולה על הפיירפוקס נעתיק את זה פיירפוקס אוקיי אז יש לנו אתחול של שלושת תקן את ה-WebDriver Geco זה שם ה-Driver של ה-FireFox וכאן אנחנו משנים את שם הקובץ GecoDriver ו-Driver שווה New Firefox Driver אז יש לנו את שלושת הדפדפנים אנחנו יכולים לבחור עם איזה לרוץ בואו נתחיל ונרוץ עם ה-Chrome בהתחלה אז אני עושה הערה על כל היתר תכף
אנחנו נשחרר את ההערה ונראה ופה החלק של הדמו שלנו,