WebdriverCourse01

שיעור 1: התקנה

את הקורס הזה נתחיל ללמוד בהתקנה והגדרה של ה-Selenium Webdriver. את הכלי הזה ניתן להתקין על מגוון רחב של סביבות – מערכות הפעלה שונות, IDE שונים, שפות תכנות שונות ועוד. בשיעור זה אדגים כיצד ניתן להתקין את הכלי בשתי סביבות אולי הפופולריות ביותר, האחת ב-NET. והשניה ב-Eclipse. התקנת Selenium WebDriver בסביבת NET. ועבודה עם #C […]

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 אחד כזה שקיים רק במוצר שאני בודק ? למשל כאשר אני […]

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, במקרה […]

WebdriverCourse10

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

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

WebdriverCourse11a

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

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

WebdriverCourse12

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

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

WebdriverCourse13

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

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

WebdriverCourse14

שיעור 14: פרוקסי

בסלניום ניתן להשתמש בעבודה מול דפדפן עם שרת פרוקסי. בשיעור זה נלמד כיצד ניתן ליישם פעולה זו מול דפדפנים שונים. בדרך כלל באותו איזור בקוד היכן שמגדירים את הפרוקסי, ניתן להגדיר לעבוד עם הדפדפן ב-capabilities נוספים, גם אותם נראה פה בדוגמאות.   דפדפן הכרום: קריאה בג'אווה: String userAgent = "user_agent_string"; String proxy = "example:80"; org.openqa.selenium.Proxy […]