PracticU

TestNG Assertions

בלי כתוביותעם כתוביות
PracticU › קורס סלניום בסיסי - בדיקות אוטומטיות - Selenium › TestNG Assertions
מילון מושגים:
דוח - מסמך או תצוגה שמסכמים נתונים בצורה מאורגנת לצורך הבנה וקבלת החלטות.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
בוליאני - סוג נתונים שיכול לקבל אחד משני ערכים בלבד: אמת (true) או שקר (false).
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
חריגה - מצב שגיאה שמתרחש בזמן ריצת התוכנית ומפסיק את המהלך הרגיל, אלא אם הקוד תופס ומטפל בו.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
XML - שפת סימון לייצוג נתונים מובְנים בעזרת תגיות, המשמשת להחלפת מידע בין מערכות ולקובצי הגדרות.

TestNG Assertions
השיעור מסביר איך קובעים שטסט עבר או נכשל בעזרת Assert, ואיך התוצאה מופיעה בדוח.
השלבים העיקריים
1. עבר כברירת מחדל: טסט שלא מבצע בדיקה נחשב לעבר. לכן צריך Assert שיקבע את התוצאה.
2. מתודות Assert: הטסט קורא למתודה כמו Assert.assertTrue, שמקבלת ערך בוליאני ומחזירה עבר או נכשל לפיו. בדומה יש מתודות להשוואה בין ערכים.
3. הודעה: הפרמטר השני הוא הודעה שמופיעה כשהבדיקה נכשלת, ולכן כדאי שתהיה ברורה.
4. נכשל עוצר: כשאסרשן נכשל, נזרקת חריגה והקוד שאחריו בטסט לא מתבצע.
5. תוצאת המחלקה: כשלון אחד בטסט מספיק כדי שכל המחלקה תיחשב כנכשלת.
שימו לב
- כשהאסרשן נכשל, ההודעה שכתבנו מופיעה בחריגה, ולכן חשוב לכתוב הודעה שמסבירה מה נכשל.
- הדוח מתעדכן רק אחרי הרצה מחדש דרך קובץ ה-XML. צריך לרענן את תיקיית הפרויקט כדי לראות את הקובץ החדש.
אסרשן הופך טסט מרצף פקודות לבדיקה שיש לה תוצאה מוגדרת.
השיעור הבא בקורס: Begin Write Tests

פרקי ההרצאה: TestNG Assertions

  1. 00:00

    מבוא לאימות תוצאות טסט (Assertions)

  2. 01:05

    הגדרת טסט עובר או נכשל

  3. 01:46

    שימוש ב-assertTrue לאימות ערך

  4. 02:25

    יצירת שלושה טסטים באותו קלאס

  5. 03:01

    הוספת assertTrue לכל טסט

  6. 06:57

    הרצת הטסטים: כשל עוצר את הטסט

  7. 08:15

    תצוגת הדוח וכישלון הקלאס

תמלול ההרצאה: TestNG Assertions

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

  1. 00:02

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

  2. 00:11

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

  3. 00:23

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

  4. 00:44

    דבר נוסף שחסר לנו, לפני שאנחנו עוברים לדוגמאות ספציפיות של ריצה בסלנליום עם המעטפת של ה-TestNG, זה הנושא של ה-Verification, ה-Searching.

  5. 00:55

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

  6. 01:09

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

  7. 01:26

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

  8. 01:53

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

  9. 02:20

    תוך ספריית src יצרנו את ה-package demo1 ויצרנו קלאס דמו1. הוספנו כאן את האנוטציות של ה-before class, ה-before method ואז עשינו רצף של שלושה טסט קייסים, טסט שמתחילים באנוטציה טסט, ומיד אחר כך יש לנו את ה-public void test 1, public void test 2,

  10. 02:44

    public void test 3. זאת אומרת, יש לנו רצף של מתודות מסוג טסט ובסוף יש לנו את הנוטציות שסוגרות את הקלאס של הריצה עם after method, זה מבוצע אחרי כל מתודה ומתודה מסוג טסט ו-after class וסיום הקלאס כולו.

  11. 03:07

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

  12. 03:47

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

  13. 04:15

    נעל וכדומה מה שאנחנו מחפשים זה את ה-assert true זה לוודא שהערך שקיבלנו הוא חיובי הוא בוליאני true אני אבחר אותו ויצרתי בעצם ה-sert.assert true לערך שנמצא פה כאן יש לנו message וכאן יש לנו את ה-condition לדוגמה נעשה את ה-condition המסג' פה הוא במקרה ששנייה זה במקרה שהסרט נכשל אז הוא יוציא את ההודעה הזאת ל-report

  14. 05:10

    אוקיי אז זה בעצם יש לי ערך true ואני יכול לבצע בואו נעתיק את השורה הזאת ונעתיק אותה גם לטסט 2 והפעם נכתוב false וגם לטסט 3 ונבצע true אוקיי, אז צירפתי את הסרט, בואו נעשה איזשהו אישור של הקוד שלי על ידי ctrl+shift+f ואנחנו רואים פה שיש לנו אפשרות לקבוע האם הטסט עבר או נחשב,

  15. 05:49

    בואו נריץ ונראה את הדוח שלנו איך זה בוצע, אז כאמור השתמשתי בקלאסט אסרט מתוך הטסטנג'י או טסטנג'י אסרט ואני רואה אותו פה מיובא בעצם לכותרת של האימפורט, של הקלאס שלי, וקבעתי את הערך, השתמשתי ב-assert true, קבעתי true, ובמקרה של false הוא יוציא הודעת נכשל, אמור

  16. 06:21

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

  17. 07:03

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

  18. 07:58

    אם אנחנו נרצה להדפיס אותו אז אנחנו נצטרך להדביק כאן ולראות אותו רץ שוב אני אריץ את זה דרך הxml ואנחנו רואים את כל הריצה שלנו אבל טסט 2 נכשל ואנחנו יכולים לראות את הכישלון הזה איך אנחנו נראה את זה בצורה יותר ברורה נעבור לתא של הטסט mg ואנחנו רואים טסט 1 עבר אנחנו רואים v טסט 2 עבר טסט 3 נכשל ואנחנו רואים שכל התוצאה של הקלאס הזה היא כישלון

  19. 08:37

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

  20. 08:51

    ואנחנו רואים פה את ה-exception זאת אומרת ברגע שהסרט נכשל אז יש לנו exception וב-exception

לקורס המלא: קורס סלניום Selenium בסיסי

ההרצאה הקודמת: TestNG Annotations

ההרצאה הבאה: Begin Write Tests

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

  • JMeter Assertions
  • התקנת תוסף TestNG

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

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