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

seleniumPythona

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

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

seleniumRubyb

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

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

nunit2b

סלניום עם NUnit – חלק ב

בחלקו הראשון של המדריך, הורדנו והתקנו את ה-Visual Studio , הורדנו והתקנו את NUnit , כעת נראה כיצד אנו מתקדמים עם הבדיקות   הכרת ה-NUnit , מודול ה-GUI אז דבר ראשון שנראה כשנפתח את קובץ ההפעלה של NUnit יהיה המסך הבא: בחלון השמאלי (עם הרקע הלבן) אנו אמורים לראות את הטסטים שאנו ניצור בקוד. מצד ימין מלמעלה […]

nunit2a

סלניום עם NUnit – חלק א

כתיבת בדיקות אוטומטיות עם סלניום מאוד פופולרית בסביבת ה-NET.  אחת מסביבות הריצה הכי מבוקשות בשוק הזה היא ה-NUnit הנשענת על Unit Testing לבניה והרצת הבדיקות. ה-NUnit היא הסביבה המקבילה ל-Junit (שמשתמשים בה ב-Java), והיא מתחלקת לשני מודולים: מודול הספרייה ומודול ה-UI מודול הספריה הוא למעשה קובץ DLL אשר מכיל בתוכו את הפונקציונליות של סביבת ההרצה והמבניות […]

SeleniumScreenCast2

להקליט בדיקות עם Selenium ScreenCast API

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

DatePicker2

בחירת תאריך עם סלניום

באפליקציה שלנו אנו נתקלים בפקדים שונים , כאלו שפשוט לאטמט (To Automate) עם סלניום כמו כפתורי רדיו (Radio Buttons) , שדות טקסט וכו' , כאלו שקצת קשה יותר לאטמט כמו ComboBox וכאלו שעוד קשה יותר לאטמט כמו ה-DatePicker. אין זה אומר שזוהי משימה בלתי אפשרית, רק פשוט צריך להחיל איזושהי לוגיקה מסויימת על הפקד בשביל […]

LoadableComponent

LoadableComponent

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