פייתון היא היא שפת תכנות מונחית עצמים, בעלת יכולת תכנות פונקציונלי, היא רצה על מערכות לינוקס, חלונות ומק. זוהי שפת סקריפטים כך שאין צורך בהידור (Compilation) ובקישור (Linkage) של תוכניות. פייתון נבנתה בדגש על קריאוּת והקטנת מאמצי המתכנת, ולכן אינה יכולה להתחרות כלל בביצועי המהירות של שפות נמוכות יותר, כשפת C למשל. עם זאת, פייתון […]
Selenium
סלניום עם Ruby, חלק ב
בחלק א' של מדריך זה למדנו להורדינ ולהתקין את רובי , למדנו קצת על פקודות השפה דרך ה-irb שהוא למעשה Command Line שמפרש את קוד השפה ופולט תוצאה, אח"כ למדנו כיצד להטמיע את הפלאג-אין של רובי ב-Eclipse IDE שאנו כבר מכירים. בחלק זה של המדריך נלמד מושג חדש – Gems , נתקין דרכו את הסלניום […]
סלניום עם NUnit – חלק ב
בחלקו הראשון של המדריך, הורדנו והתקנו את ה-Visual Studio , הורדנו והתקנו את NUnit , כעת נראה כיצד אנו מתקדמים עם הבדיקות הכרת ה-NUnit , מודול ה-GUI אז דבר ראשון שנראה כשנפתח את קובץ ההפעלה של NUnit יהיה המסך הבא: בחלון השמאלי (עם הרקע הלבן) אנו אמורים לראות את הטסטים שאנו ניצור בקוד. מצד ימין מלמעלה […]
סלניום עם NUnit – חלק א
כתיבת בדיקות אוטומטיות עם סלניום מאוד פופולרית בסביבת ה-NET. אחת מסביבות הריצה הכי מבוקשות בשוק הזה היא ה-NUnit הנשענת על Unit Testing לבניה והרצת הבדיקות. ה-NUnit היא הסביבה המקבילה ל-Junit (שמשתמשים בה ב-Java), והיא מתחלקת לשני מודולים: מודול הספרייה ומודול ה-UI מודול הספריה הוא למעשה קובץ DLL אשר מכיל בתוכו את הפונקציונליות של סביבת ההרצה והמבניות […]
להקליט בדיקות עם Selenium ScreenCast API
יש לכם כבר מערך בדיקות אוטומטיות, אתם מריצים אותו על בסיס קבוע , יש טסטים שנופלים, יש כאלו שעוברים, כתבתם כבר תשתית ללוגים, דוחו"ת , אפילו הגדלתם לעשות והטמעתם פונקציונליות אשר לוקחת צילום מסך בכל נפילה של טסט , או סתם ככה בשביל להשוות תמונות… מה עוד ? כיצד ניתן לשפר את מערך ה-Tracking של […]
בחירת תאריך עם סלניום
באפליקציה שלנו אנו נתקלים בפקדים שונים , כאלו שפשוט לאטמט (To Automate) עם סלניום כמו כפתורי רדיו (Radio Buttons) , שדות טקסט וכו' , כאלו שקצת קשה יותר לאטמט כמו ComboBox וכאלו שעוד קשה יותר לאטמט כמו ה-DatePicker. אין זה אומר שזוהי משימה בלתי אפשרית, רק פשוט צריך להחיל איזושהי לוגיקה מסויימת על הפקד בשביל […]
LoadableComponent
אחד היתרונות הגדולים באוטומציה הוא גם אחת מהנקודות הכואבות – המהירות. כולנו מסכימים שביצוע פעולות אוטומטיות בקצב מהיר זה טוב ויפה, אז איפה יכולה להיות בעיה ? במקרים בהם המערכת הנבדקת – System Under test איטית למשל בתעבורת הרשת (נגיד בין הקליינט לסרבר), או כשהיא מגיבה לאט, תוכל להיווצר לנו בעיה – חוסר סינכרון. זמן […]
זיהוי אלמנטים דינאמיים
לא מזמן הועלתה שאלה מעניינת באחת מקבוצות הפייסבוק אליהן אני מקושר – כיצד סלניום יכול לזהות אלמנטים שנוצרים בזמן ריצה (On The Fly) ? התשובה שעניתי הייתה קצת מתומצתת והעלתה לי רעיון לפוסט חדש בו ארחיב על מגוון הדרכים אותן ניתן לתפוס אלמנטים דינאמיים. אז קודם כל בואו נבין מה הכוונה אלמנט דינאמי […]
סלניום עם HTML5 Video
סלניום יודע להתמודד ולעבוד עם כל (טוב נו, רוב) הפקדים המופיעים על הדפדפן, מול חלקם ניתן לעבוד בצורה טריביאלית – לחיצה על כפתור , הכנסת מלל לשדה טקסט, בחירת נתון מתוך רשימה יורדת (Drop Down) ועוד… ישנם פקדים מעט מסובכים ועבודה מולם עם סלניום דורשת מאיתנו קצת יותר מאמץ כמו בחירת תאריך ושעה מתוך ה-Date […]
קורס אוטומציה פרונטלי עם Selenium Webdriver
לאורך השנים האחרונות, עם התפתחות הבדיקות האוטומטיות במישור אחד וההתפתחות המטאורית של פיתוח אפליקציות על גבי ה-Web במישור השני, קהילת הבודקים הייתה זקוקה לפלטפורמת בדיקות חזקה ויציבה, שעובדת על דפדפנים ועליה ניתן ליצור סטים שלמים של בדיקות פונקציונליות. אין ספק כי אחד מפתרונות האוטומציה הפופולריים ביותר בתעשייה כיום הוא ה-Selenium Webdriver וזאת על אף מגבלותיו […]
סלניום עם Flex
בפוסט בעבר דיברנו על מגבלה של סלניום בזיהוי אלמנטים מעל אלמנטים גרפיים, הצעתי פתרון של עבודה בסלניום מול ממשק ה-sikuli. בפוסט זה ארחיב את הנאמר ואציע פתרון שונה לאותה הבעיה – זיהוי אלמנטים על אפליקציית Flex (או בשמה השני – Flash). נתחיל בדוגמא לאפליקצייה כזו: משחק מירוץ המכוניות הזה למשל: שימו לב, כי כאשר […]
סלניום עם Object Repository
לפי השם – Object Repository , ניתן לנחש שמדובר כאן בסוג של מבנה נתונים. זהו למעשה אוסף של אובייקטים והמאפיינים שלהם המוגדרים במקום אחד, מקום זה יכול להיות קובץ טקסט, XML, HTML, Properties, בתוך טבלה ב-Data Base וכו'. תשתית האוטומציה יודעת לקרוא מתוך הקובץ את האובייקטים ובכך לדעת כיצד לגשת לאותם אלמנטים על המסך. עבודה […]