PracticU

הוספת סינכרון הטסט
לדף הנבדק

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

הוספת סינכרון הטסט לדף הנבדק
טסט שרץ מהר יותר מהטעינה של הדף ייכשל בגלל אלמנטים שעדיין לא קיימים. ההרצאה מסבירה מהי סינכרוניזציה ב-Robot Framework ואיך מוסיפים אותה לטסט הלוגין.
מה זה סינכרוניזציה
סינכרוניזציה היא תיאום בין הטסט לבין הדף: מוודאים שהדף נטען והאלמנטים מוכנים לפעולה (הקלדה, לחיצה או סימון) לפני שהטסט פונה אליהם. בלי זה הטסט לא יציב, כי הוא מנסה לגשת לאלמנטים שאינם בדף וכושל, בעיקר כשהדף עולה לאט. אנחנו רוצים שהטסט יהיה סבלני.
איך מוסיפים אותה
1. Set Selenium Timeout: ברירת המחדל היא 5 שניות. כדי להאריך אותה קובעים ערך של 10 שניות, וזה הזמן ש-Selenium יחכה לפני שהוא מכשיל את הטסט.
2. Wait Until Element Is Enabled: לפני פעולת הזנת הטקסט מעתיקים את ה-locator של השדה ומוודאים שהאלמנט זמין.
3. שילוב ב-Keywords: את ההמתנה מוסיפים בתוך ה-Keywords. בבדיקה של הטקסט שאחרי הלוגין אין אלמנט להמתין לו, ולכן משתמשים ב-Wait Until Page Contains עם הטקסט our api customer.
4. הרצה: אם הטקסט לא מופיע, הטסט מחכה את כל 10 השניות ונכשל. זו התנהגות תקינה, והיא מוכיחה שהכישלון לא נבע מאיטיות בטעינה.
פקודות והגדרות
- Set Selenium Timeout עם ערך של 10 שניות.
- Wait Until Element Is Enabled עם ה-locator.
- Wait Until Page Contains עם הטקסט הצפוי.
אחרי ההרצאה אפשר להוסיף לטסטים המתנות שמייצבות אותם מול דפים שנטענים לאט.
השיעור הבא בקורס: הוספת טסט שלילי ושימוש ב-xpath

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

  1. 00:00

    מהי סינכרוניזציה

  2. 00:39

    חוסר יציבות ללא סינכרון

  3. 01:14

    שילוב סינכרון בטסט

  4. 01:51

    המתנה עד שאלמנט מוכן

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

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

  1. 00:02

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

  2. 00:20

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

  3. 00:42

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

  4. 00:53

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

  5. 01:14

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

  6. 01:27

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

  7. 01:47

    שזה יהיה 10 שניות. זו הצורה, אנחנו יכולים גם לרשום second ממש בצורה כזאתי. עוד פעולה של סינכרוניזציה, כאשר אנחנו רוצים לעשות סינכרוניזציה ולוודא ששדה מסוים, נגיד השדה הזה כבר נמצא, אז אני יכול להגיד לו wait until element is enabled, ופה להכניס את הלוקייטור שאני משתמש בו למטה,

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

ההרצאה הקודמת: יצירת מילות מפתח - לביצוע טסטים דינמיים

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

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

  • הוספת VMkernel
  • כתיבת טסטים - סינכרון - המתנה לטעינת אלמנטים
  • קריטריון קבלה - תנאי קבלה לבדיקות חלק במוצר הנבדק
  • הוספת Request לטסט

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

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