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 איטית למשל בתעבורת הרשת (נגיד בין הקליינט לסרבר), או כשהיא מגיבה לאט, תוכל להיווצר לנו בעיה – חוסר סינכרון. זמן […]

DynamicElements2

זיהוי אלמנטים דינאמיים

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

AutomateVideo1

סלניום עם HTML5 Video

סלניום יודע להתמודד ולעבוד עם כל (טוב נו, רוב) הפקדים המופיעים על הדפדפן, מול חלקם ניתן לעבוד בצורה טריביאלית – לחיצה על כפתור , הכנסת מלל לשדה טקסט, בחירת נתון מתוך רשימה יורדת (Drop Down) ועוד… ישנם פקדים מעט מסובכים ועבודה מולם עם סלניום דורשת מאיתנו קצת יותר מאמץ כמו בחירת תאריך ושעה מתוך ה-Date […]

automationCourse1

קורס אוטומציה פרונטלי עם Selenium Webdriver

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

SeleniumOnApacheFlex

סלניום עם Flex

בפוסט בעבר דיברנו על מגבלה של סלניום בזיהוי אלמנטים מעל אלמנטים גרפיים, הצעתי פתרון של עבודה בסלניום מול ממשק ה-sikuli. בפוסט זה ארחיב את הנאמר ואציע פתרון שונה לאותה הבעיה – זיהוי אלמנטים על אפליקציית Flex (או בשמה השני – Flash).     נתחיל בדוגמא לאפליקצייה כזו: משחק מירוץ המכוניות הזה למשל:   שימו לב, כי כאשר […]

SeleniumwithObjectRepository

סלניום עם Object Repository

לפי השם – Object Repository , ניתן לנחש שמדובר כאן בסוג של מבנה נתונים. זהו למעשה אוסף של אובייקטים והמאפיינים שלהם המוגדרים במקום אחד, מקום זה יכול להיות קובץ טקסט, XML, HTML, Properties, בתוך טבלה ב-Data Base וכו'. תשתית האוטומציה יודעת לקרוא מתוך הקובץ את האובייקטים ובכך לדעת כיצד לגשת לאותם אלמנטים על המסך. עבודה […]