seleniumJavaTestNG

Selenium – Java / TestNG

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

DatePicker2

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

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

LoadableComponent

LoadableComponent

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

DynamicElements2

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

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

AutomateVideo1

סלניום עם HTML5 Video

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

JavaMailAPI1

בדיקות צד שרת עם JavaMail API

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

MyTableAPItitle

MyTable API

במהלך עבודתי בפיתוח אוטומציה, יוצא לי לעבוד לא מעט על טבלאות. עם הזמן ניסיתי כל מיני דרכים לשכלל וליעל את עבודתי, אז בין ה-TR ל-TD התחלתי לכתוב לולאות ורשימות, עבדתי עם APIs שונים כמו ה-HTMLAgilityPack וה-jSoup (שהוא מעולה אך לא מספיק אינטואטיבי לטעמי), ובסופו של דבר החלטתי לכתוב API משל עצמי, אחד כזה שיהיה ברור, […]

AppiumSelendroid

Appium Vs. Selendroid

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

automationCourse1

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

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

calculator_js

יצירת מחשבון ב-JS

ישנן דרכים רבות לכתוב מחשבון ב-Java Script ולהציגו ב-HTML , בפוסט זה אראה דרך שנחשבת יחסית לפשוטה. אך תחילה, בואו ונראה את הדמו: בחלק ה-HTMLי נגדיר בתוך טבלה את הכפתורים שלנו עם ערכי המספרים כשלכל כפתור נגדיר OnClick Event . כל הכפתורים מלבד כפתור ה "=" , יקראו לפונקציית pushButton כאשר מעבירים לה את ערך […]

Dynamic_js

ערכים דינאמיים ב-JS

בפוסט זה הסביר כיצד ניתן ליצור חישובים מתמטיים On the fly בדף HTML. אז בואו נראה למה אני מתכוון, במחשבון שנראה כאן, אני יכול להכניס ערכים של מחיר מוצר ומחיר הנחה והמחשבון יפלוט לי את אחוזי ההנחה לפי הפרמטרים: ניתן לראות כי אחוזי ההנחה משתנים באופן דינאמי בהתאם לערכים המוצבים בשתי השדות האחרים: מחיר מחירון […]

SeleniumOnApacheFlex

סלניום עם Flex

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