stale-page-factory1

Stale Elements & Page Factory

בפוסט הזה אני מעוניין לדבר אתכם על בעיה נפוצה באוטומציה על אפליקציות Ui , כאשר אנו עובדים עם אלמנטים (נגיד עם Selenium על ה-Web) יכול לקרות מצב שבו האלמנטים הפכו להיות Stale (שזה אומר שתוקפם פג. הם היו זמינים אך כעת כבר לא). לקריאה נוספת אודות Stale Element Reference Exception אתם מוזמנים לקרוא את הפוסט […]

lamda-wait

Lambda Wait

  היי חברים, בפוסט הזה אני רוצה להציג בפניכם את היכולת המדהימה של שימוש ב-Lambda Expression  עם ה-ExplicitlyWait שמגיע עם Selenium WebDriver בכדי להרחיב את ארגז הכלים שלנו לסוגי המתנות שונים. תראו, זה לא סוד כי אחד מהדברים המעצבנים ביותר שיש לנו ב-Selenium הוא כל עניין הסינכרוניזציה בין במערכת הבודקת (Selenium) לבין המערכת הנבדקת (אותה […]

findAllvsFindBys

FindAll vs. FindBys

את הפוסט הנוכחי החלטתי לכתוב מכיוון שכבר כמה תלמידים שלי נתקלו בבאותה שאלה שנשאלת בראיונות עבודה , זוהי השאלה המעידה על הבנה ב- Page Objects Pattern והיא הולכת כך: מהו ההבדל בין אנוטציית ה-FindAll לבין אנוטציית ה-FindBys ב-Page Objects  ?     אז כל מי שאי פעם התעסק עם Page Objects באוטומציה, לבטח יכיר את […]

WarOfTheWorlds

מלחמת העולמות, חלק 1

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

mega_function

Mega Function

בשלהי העשור הקודם, כשנחשפתי לראשונה לתשתית אוטומציה (עוד בימים התמימים והעליזים של QTP ו-VB-Script), נחשפתי לראשונה למתילדה. מתילדה הייתה שמה של Mega Function, פונקציה אחת שעושה הכל ! בפרוייקט שלנו, כל מה שנרצה כל מה שנבקש – מתילדה תספק. כיום, עפ"י Design Pattern שונים ומתודולוגיות פיתוח מודרניים (לדוגמא – SOLID), אנחנו לומדים שבשביל לכתוב תשתית […]

shadowDOM

אוטומציה עם Shadow DOM

כשאנו כותבים אתר מסויים, אנחנו בסופו של דבר מייצרים קובץ HTML (הגי'נרוט של קובץ זה יכול להגיע מכמה טכנולוגיות מאחורי הקלעים, אך כאן זה לא המקום  להרחיב עליהם). הדפדפן שאנו עובדים עימו (גוגל כרום \ מוזילה פיירפוקס \ אינטרנט אקספלורר) יודע לתרגם את תוכן ה-HTML לתוכן מסוג DOM (ראשי תיבות של Document Object Model). ה-DOM […]

solidautomation

SOLID Automation

חברים, יש לכם כבר פרוייקט אוטומציה כתוב ? יפה מאוד, כמה אתם מרוצים מאיך שהוא כתוב ?  איך בכלל אתם יודעים שהוא כתוב נכון ? לפרוייקט אוטומציה, כמו לכל פרוייקט תוכנה, אנו בדרך כלל עובדים לפי עקרונות והנחות, שיטות עבודה, תבניות עיצוב (Design Patterns), ו-Best Practice אותם למדנו מנסיון העבר או מייעוץ חיצוני. בפוסט הנוכחי […]

event_listeners

Event Listeners

בפוסט זה אנו נבחן פונקציונליות של Selenium WebDriver הנותנת לנו את האפשרות לדווח ללוגים או לדוחות של תוצאות הריצה בצורה נקייה יותר. נחשוב על זה ככה, אנחנו מריצים כעת כמה מקרה בדיקה עם סלניום, מקרה הבדיקה הזה מכיל בתוכו כמה שלבים (Steps), כמו למשל: ניווט לאתר מסויים, הקלקה על כפתור, הזנת טקסט לתוך שדה וכו'. […]

jlenium_post

Jlenium

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

page_abstractions

הפשטת דפים

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

selenide

Selenide

סלנייד (Selenide) היא שכבה שפותחה מעל הספריות של Selenium WebDriver. היא תומכת בשפת Java ומתעדכנת בקצב מניח את הדעת (יצאה כבר גרסת Selenide 4.0 אשר תומכת ב-Selenium 3  ו- Java 8). המוטיבציה של מפתחי המוצר הייתה לקחת את היכולות של סלניום לביצוע פעולות אוטומטיות על הדפדפן ולהוסיף יכולות של ואלידציות ווריפיקציות בכדי להפוך את הספריה […]

seleniumPythonb

סלניום עם Python, חלק ב

קורס סלניום עם Python – חלק ב' בחלק א' של מדריך זה למדנו כיצד ניתן להוריד ולהתקין את פייתון , למדנו קצת על פקודות השפה דרך ה-Shell שהוא למעשה Command Line שמפרש את קוד השפה ופולט תוצאה, אח”כ למדנו כיצד להטמיע את הפלאג-אין של פייתון ב-Eclipse IDE שאנו כבר מכירים. בחלק זה של המדריך נלמד לפתוח […]