WebdriverCourse02

שיעור 2: הדפדפן

הדבר הראשון שנרצה לעשות בסלניום הוא לפתוח ולסגור את הדפדפן, לשם כך נצטרך להכיר את הפקודות השונות שמטפלות בדפדפן.   פונקצית ה-Get: תיאור: פונקציה הפותחת  דף חדש בדפדפן , מקבלת מחרוזת בה כתובת האתר אליו אנו רוצים לנווט דוגמא: driver.get("www.YoniFlenner.Net"); פונקצית ה-GetTitle: תיאור: פונקציה אשר מביאה את הערך של ה-title בעמוד שאנו נמצאים דוגמא: driver.getTitle(); […]

WebdriverCourse03

שיעור 3: זיהוי אלמנטים

לאחר פתיחת הדפדפן וניווט לדף עימו אנחנו נרצה לבדוק, כדאי לנו להכיר כעת את העבודה עם האלמנטים השונים בדף וכיצד אנו נזהה אותם. שתי פונקציות עיקריות בהן עובדים לזיהוי אלמנטים בדף הן: FindElement ו- FindElements. הראשונה מחזירה אובייקט של WebElement (זורקת Exception במידה ולא מצאה) והשנייה מחזירה רשימה של WebElements (מחזירה רשימה ריקה במידה ולא […]

WebdriverCourse04

שיעור 4: זיהוי אלמנטים מתקדם

בשיעור הקודם למדנו כיצד לזהות אלמנטים מסויימים על המסך עם סלניום , השיטות שהראתי היו מוגבלות למדיי , כל עוד יש id ייחודי, אז זה מצויין לעבוד איתו, אך מה נעשה במידה ולא נמצא Attribute ייחודי ? ומה אם נרצה לעבוד עם Customize Attribute אחד כזה שקיים רק במוצר שאני בודק ? למשל כאשר אני […]

WebdriverCourse05

שיעור 5: טיפול בפקדים

בשיעורים הקודמים ראינו כיצד ניתן לזהות אלמנטים על ה-DOM בדרכים שונות. כעת נלמד מה ניתן לעשות איתם לאחר הזיהוי, כיצד ניתן לטפל בהם. לכל פקד (אלמנט) יש דרך התמודדות שונה, אותה אנו נראה מיד.   Radio Button: הפקד הראשון ואולי הפשוט ביותר הוא כפתור הרדיו, כפי שניתן לראות בדוגמא כאן: כאשר הקוד שלו נראה כך: […]

WebdriverCourse06

שיעור 6: ניווט

בסלניום נוכל למצוא סט של פונקציות איתם נוכל לנווט בדפי האינטרנט של הדפדפן שלנו, נוכל לנוע קדימה ואחורה ולנווט למיקום ספציפי.   פונקצית ה-NevigateTo: תיאור: בפונקציה זו אנו נוכל לנווט לאתר מסויים ע"י הכנסת מחרוזת (כתובת) לפרמטר שהפונקציה מקבלת. למעשה אין הבדל בין פונקציה זו לבין driver.get שכבר ראינו בשיעור 2. דוגמא: driver.navigate().to("http://blog.YoniFlenner.net");   פונקצית […]

WebdriverCourse07

שיעור 7: המתנה

אחד היתרונות הגדולים באוטומציה הוא גם אחד החסרונות. המהירות. כולנו מסכימים שביצוע פעולות אוטומטיות בקצב מהיר זה טוב ויפה, אז איפה יכולה להיות בעיה ? במקרים בהם המערכת הנבדקת – System Under test איטית למשל בתעבורת הרשת (נגיד בין הקליינט לסרבר), או כשהיא מגיבה לאט, תוכל להיווצר לנו בעיה. פקודת ה-FindElement שלנו עלולה שלא למצוא […]

WebdriverCourse08

שיעור 8: מעבר

בשיעור זה נלמד כיצד ניתן בעזרת סלניום לעבור בין חלונות הדפדפן שכוללים גם פריימים, טאבים ופופאפים. אך תחילה בואו נבין מה זה: window handle . בזמן שאנחנו יוצרים מופע (Instance) של Webdriver , למשל: driver = new FirefoxDriver(); מאחורי הקלעים סלניום מקצה מזהה ייחודי לכל חלון שפתוח בדפדפן (אותו אחד אליו קישרנו את ה-Driver, במקרה […]

WebdriverCourse09

שיעור 9: מציאת אלמנטים בדפדפן

בשיעורים הקודמים למדנו כיצד ניתן לזהות אלמנטים ב-DOM ואח"כ גם איך להפעיל עליהם מתודות, כמו click, sendkeys וכו'. כעת אנו נלך שלב אחד מוקדם יותר ונלמד כיצד אנו יכולים למצוא את האלמנטים ע"י הדפדפן בכדי להגדיר אותם בפונקציה , לדוגמא, כאשר אני רוצה להשתמש בפונקצית: WebElement element = driver.findElement(By.id("Username")); מניין לי לדעת כי ערך ה-ID […]

WebdriverCourse10

שיעור 10: טבלאות

בשיעור הקודם למדנו כיצד ניתן לשלוף נתונים מתוך הדפדפן עם כלים מובנים, אחד מהנתונים הוא ה-XPath. בשיעור זה נלמד כיצד להשתמש ב-XPath בכדיי לזהות תאים בתוך טבלה ולהפעיל עליהם מתודות. * אך לפני כן אני חייב לציין, כי זהו אמנם שיעור חשוב בכדיי לדעת בעיקר איך לעבוד עם טבלאות, אך עבודה עם XPath לטבלאות מורכבות […]

WebdriverCourse11a

שיעור 11: חיבור לדפדפנים

לפני הופעת סלניום WebDriver אנשי האוטומציה הסתפקו בגרסתו המוקדמת יותר שנקראה – Selenium Remote Control אשר חייב את המשתמשים להתקין שרת שידבר עם הדפדפנים השונים. ה-WebDriver הביא איתו שינוי תשתיתי שזנח את אותו חיבור לשרת והביא לנו את היכולת לעבוד ישירות מל הדפדפנים בעזרת דרייברים. חיבור מסוג זה שיפר את ה-Performance של ההרצות בזכות העבודה […]

WebdriverCourse12

שיעור 12: לוגים

ישנם כלים חיצוניים מצויינים בעבודה עם סלניום לאיסוף לוגים. בשיעור זה נלמד כיצד בעצמנו נוכל ליצור איזושהי מערכת אשר שולחת תרחישים (Events) ואוספת אותם להצגה למשתמש. כך, באופן זה, נוכל בקלות יותר לדבג את הקוד שלנו. לשם כך נלמד על מחלקה וממשק שעד עכשיו לא הצגנו: מחלקת EventFiringWebDriver וממשק – WebDriverEventListner. על פי השם, אין […]

WebdriverCourse13

שיעור 13: פרופילי דפדפן

בשיעור זה נלמד כיצד לעבוד עם פרופילים שונים של הדפדפן שאני יכול ליצור מבעוד מועד, הדוגמאות בשיעור מוצגות על דפדפן הפיירפוקס אך באותה המידה ניתן לייצר פרופילים שונים גם לדפדפנים אחרים. מהו פרופיל ? הדפדפן שלכם שומר מידע אישי כמו ספריית המועדפים, סיסמאות, תוספים והעדפות אישיות בתוך סט של קבצים הנקראים פרופיל. הפרופיל נשמר במיקום […]