PracticU

הוספת טסט שלילי
ושימוש ב-xpath

בלי כתוביותעם כתוביות
PracticU › קורס Robot Framework - בדיקות QA ממשק גרפי › הוספת טסט שלילי ושימוש ב-xpath
מילון מושגים:
Selenium - כלי לאוטומציה של דפדפן, המשמש בעיקר לבדיקות אוטומטיות של אתרים ויישומי אינטרנט.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
דומיין - תחום ניהולי משותף של מחשבים ומשתמשים ברשת ארגונית, המנוהל מרכזית. גם שם ייחודי של אתר באינטרנט.
תגית - סימון בקוד, למשל ב-HTML, שתוחם רכיב ומגדיר את תפקידו או תכונותיו. גם תווית לסימון וקיטלוג פריטים.

הוספת טסט שלילי ושימוש ב-xpath
אחרי טסט הלוגין החיובי, ההרצאה מוסיפה טסט שלילי (negative testing) שבודק את הטיפול בהודעות שגיאה כשהמשתמש מזין נתון לא תקין, ומראה איך מזהים אלמנט עם xpath.
השלבים העיקריים
1. טסט חדש: בסקשן Test Cases מוסיפים טסט בשם checking login page negative. משאירים את ה-Set Selenium Timeout ואת פתיחת הדפדפן, אבל בשם המשתמש מזינים ערך שאינו בפורמט אימייל חוקי (בלי שטרודל ובלי דומיין).
2. עצירה לבדיקה: במקום האימות הקודם משתמשים ב-Pause Execution מספריית Dialogs, שמצטרפת אוטומטית עם SeleniumLibrary, ושולחים לה הודעה. כך הדף נעצר והאפשר לראות את הודעת השגיאה.
3. הרצת הטסט בלבד: מוסיפים לטסט תג, למשל טסט under work, ומריצים עם Include ועם התג הזה. כך לא רץ הטסט הראשון שכבר עובר.
4. זיהוי כותרת הלוגין: פותחים את כלי המפתחים עם F12 (אפשר למקם אותו בתחתית הדף), בוחרים Inspect על הכותרת Login ומעתיקים xpath. בחיפוש עם Ctrl+F רואים התאמה אחת. מקצרים אותו לצורה עם // כפול (//h2) שמדלג על אלמנטים ובודק את התוכן.
5. אימות שהמשתמש לא התקדם: מחליפים את ה-pause ב-Wait Until Page Contains Element עם ה-xpath. אם האלמנט קיים, דף הלוגין עדיין מוצג, והמשתמש לא נכנס.
6. בדיקה של הבדיקה: עם אימייל חוקי החיפוש של אותו xpath מחזיר 0 התאמות, והטסט נכשל אחרי המתנה של 10 שניות. זה תקין, ואחר כך מחזירים את הערך הלא חוקי.
7. הרצה של שני הטסטים: מריצים עם התג demo test. הטסט החיובי נכנס בהצלחה והשלילי נעצר בדף הלוגין. ממקמים את הטסט החיובי ראשון.
שימו לב
- בטסט שלילי הציפייה היא שהאלמנט של הלוגין עדיין קיים אחרי הפעולה הלא חוקית.
- כדאי לוודא שהטסט נכשל כשמזינים נתון תקין, כדי לדעת שהוא בודק נכון.
אחרי ההרצאה אפשר לכתוב טסט שלילי שמוודא שהמערכת עוצרת קלט לא תקין, ולהריץ טסטים נבחרים לפי תג.

פרקי ההרצאה: הוספת טסט שלילי ושימוש ב-xpath

  1. 00:00

    הוספת טסט שלילי

  2. 00:38

    מהו Negative Testing

  3. 01:29

    עצירה עם Pause Execution

  4. 02:07

    הרצה לפי תגית

  5. 02:45

    בדיקת הודעת השגיאה

  6. 03:24

    זיהוי הטייטל בדף

  7. 04:02

    יצירת XPath לזיהוי

תמלול ההרצאה: הוספת טסט שלילי ושימוש ב-xpath

הטקסט המלא של הדקות הראשונות בהרצאה «הוספת טסט שלילי ושימוש ב-xpath» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:19

    כל שורה בטסט בעצם קוראת ל-Keywords כדי לבצע פעולה ולוודא שבאמת הדף נפתח, האלמנטים עובדים כמו שצריך ומבוצעת הפעולה שאנחנו רצינו לוודא בטסט.

  3. 00:32

    מה שרציתי עכשיו להוסיף, עוד טסט. אנחנו הולכים לסקשן של הטסט קייס, ואני כותב פה checking login page negative. מה זה אומר negative testing? זה אומר שהפעם אני אבדוק את ה-aeror handling, את הטיפול בהודעות שגיאה.

  4. 00:48

    כלומר, זה שהיוזר מבצע פעולות לא נכונות, ואנחנו רוצים לראות איך המערכת מתמודדת איתו. set selenium timeout אנחנו עדיין משאירים אותו.

  5. 00:58

    open browser to login page אנחנו עדיין משאירים. וטייפ יוזרניים הפעם נשתמש באיזשהו אימייל לא חוקי, נשתמש פה במשהו שהוא לא אינפורמט של אימייל חוקי שיש בתוכו את ה-at, את הסימן at, את השטרודל ואת הדומיין gmail.com אז יש לנו סמפל אחד ואת טייפ פסוורד נשאיר אותו דבר וצ'ק רימארבר

  6. 01:20

    מיי צ'קבוקס גם נשאיר, סאבמיט נוגין גם נשאיר ואז אנחנו מגיעים ל-verify custom page load את זה אנחנו נרצה להחליף. פה הייתי רוצה להשאיר את זה שהדף יעצור במקום הזה, אני משתמש בפקודה שנקראת pause execution מתוך ספרייה דיאלוג, אתם רואים היא מצטרפת בצורה אוטומטית יחד עם הסלנינום ליברי ואני משתמש פה pause execution,

  7. 01:44

    אם אני רוצה לדעת מה אני צריך לשלוח אני צריך לשלוח איזשהו מסר, אז אני יכול לשלוח משהו כזה, אז אני חוזר לטסט סניטי שלי ושולח את הפקודה הזאתי, אז עכשיו אני רוצה להריץ רק את הטסט הזה אז בואו נוסיף עוד תגית ונקרא לה טסט underwork אני רוצה רק להריץ את הטסט הזה ולא להריץ את הטסט הראשון שכבר בדקנו והוא מצליח נשתמש

  8. 02:14

    באותה פקודה אבל נשתמש בתגית הזאתי הפעם ולא בתגית הרגילה כלומר יש לי את ה-Include דמו טסט, הפעם אשתמש בתגית טסט אנדר וורק ואז אנחנו יודעים שהוא ירוץ את הטסט רק כשאנחנו עובדים עליו.

  9. 02:30

    היה לנו טסט ראשון פוזיטיב, טסט שני נגטיב ואנחנו רוצים שהוא יבצע את הטסט השני בלבד ולכן אני משתמש אחרי התגית אינקלוד בתגית הספציפית של הטסט אנדר וורק. לוחץ Enter, הדף ניתן.

  10. 02:45

    אנחנו רואים פה שיש את הודעת שגיאה, כלומר, אנחנו רוצים לוודא שהדף לא מתקדם לשלב הבא, הוא לא מתקדם להמשך התהליך.

  11. 02:57

    אנחנו נתעלם מההודעה הזאתי, אבל אנחנו נרצה לוודא שהלוגין עדיין קיים אחרי שהקשנו את הפעולה הלא חוקית, ולכן אני רוצה נגיד לבדוק שהאלמנט הזה של הלוגין קיים בדף. נזהה אותו, אני משתמש ב-Developer Tools, בואו נפתח אותו ביחד באמצעות F12, אנחנו יכולים למקם את זה בתחתית הדף ככה בצורה הזאת באמצעות השלוש נקודות למטה,

  12. 03:24

    ולסמן את המיקום שאנחנו רוצים, את ה-Developer Tools, ואני רוצה לעשות איזשהו זיהוי לטייטל הזה, לוגין, כדי לוודא באמת שה-error עצר את ההתקדמות של היוזר, ובאמת הוא לא יכול להיכנס, אלא אם כן הוא מכניס יוזרניים בפורמט של אימייל.

  13. 03:42

    אחרי שבחרתי אותו אני עושה Inspect, אינספקט ואז מקש ימני קופי אקספאט אני עושה קונטרול F תוך כדי קונטרול V ואנחנו רואים שיש לנו את הלוגין פורם יכול לייצר את האקספאט שאני רוצה באמצעות הקיצור הזה של ה-slash-slash h2 בסדר בואו נראה פה שיש לנו את התיב הזה זה סקשן אוקיי אז יש לי פה את הזיהוי הזה אתם רואים זיהיתי אותו באמצעות אקספאט אפשר פשוט לעשות

  14. 04:12

    זיהוי רגיל פשוט קופי אקספאט ולהעתיק את זה

לקורס המלא: קורס Robot Framework אונליין

ההרצאה הקודמת: הוספת סינכרון הטסט - לדף הנבדק

ההרצאה הבאה: הגדרה ושימוש ב-Suite Setup

הרצאות קשורות מקורסים אחרים

  • טסט ראשון
  • הוספת VMkernel
  • יצירה ושימוש ב-SQL Views
  • כתיבת טסטים - צילום טסט לסרט

קורסים נוספים במסלול

  • קורס מבוא ל-QA - מידע חשוב לבודק תוכנה
  • קורס פוסטמן - Postman - בדיקות לאתרי אינטרנט - API
  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium
  • קורס סלניום מתקדם - CI/CD - Continues Integration
  • קורס מייבן - Maven