PracticU

TestNG Annotations

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

TestNG Annotations
טסטים של TestNG רצים בסדר ובאופן שנקבעים על ידי מאפיינים של האנוטציה @Test. השיעור מראה איך משפיעים על הסדר, על ההפעלה ועל הקבוצות.
מה משנים באנוטציה
1. סדר לפי priority: מוסיפים ל-@Test את המאפיין priority, והטסט עם המספר הנמוך רץ קודם. בדוגמה טסט 2 עם priority 2 רץ לפני טסט 1.
2. הפעלה וכיבוי: המאפיין enabled = false מדלג על טסט. בהרצה דרך ה-XML רצים רק הטסטים הפעילים.
3. קבוצות: מגדירים groups לטסט, למשל "Sanity", ואז בקובץ ה-XML מציינים רק את הקבוצה להרצה.
4. מספרים חופשיים: ה-priority לא חייב להיות רצף. השיעור מציג גם 3 ו-30.
סדר האנוטציות
before class ו-after class מבוצעות פעם אחת, בתחילת הקלאס ובסופו. before method ו-after method מבוצעות לפני ואחרי כל טסט.
הערות
בהרצה לפי קבוצה רצים רק הטסטים השייכים אליה. טסט שאינו שייך ל-Sanity לא רץ. מאפיינים נוספים מופיעים בתיעוד של TestNG.
בעזרת המאפיינים האלה אפשר לשלוט בסדר, בהפעלה ובקבוצות של הטסטים דרך קובץ ה-XML.
השיעור הבא בקורס: TestNG Assertions

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

  1. 00:00

    מבוא לאנוטציית Test ויכולותיה

  2. 01:35

    סדר הריצה של מתודות ה-Class

  3. 02:13

    שינוי הסדר בעזרת priority

  4. 03:35

    השבתת טסט בעזרת enabled

  5. 04:47

    שיוך טסטים לקבוצה (Group)

  6. 05:50

    הרצת קבוצה מסוימת דרך XML

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

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

  1. 00:02

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

  2. 00:23

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

  3. 00:37

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

  4. 01:00

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

  5. 01:23

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

  6. 01:48

    את ה-Testים עצמם ו-After Method ו-After Class. בעצם ה-After Method יבוצע בין כל טסט וטסט, ה-After וה-Before Method, וה-Before Class וה-After Class יבוצע פעם אחת בתחילת ה-Class ואת ה-After Class פעם אחת בסוף ה-Class.

  7. 02:13

    מה שרצינו לראות עכשיו זה את היכולת שלנו לעבוד עם ה-Property בעצם, היכולת שלנו להשפיע על המתודה עצמה, על האנוטציה עצמה וזה בעזרת הביצוע של הפעולה הבאה.

  8. 02:28

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

  9. 02:59

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

  10. 03:16

    רואים שטסט 2 בעצם רץ לפני טסט 1. סדר העריצה השתנה בעזרת ההגדרה שהכנסתי לאנוטציה של טסט. בוא נגיד שאני לא רוצה לבצע עכשיו ריצה של הטסט הזה, אז אני יכול להוסיף עוד הגדרה, עוד מאפיין, וזה nabel שווה false.

  11. 03:46

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

  12. 04:20

    אנחנו רואים פה ש-nabel 2 על טסט 2 ו-טסט 1 הוא ב-false ולכן הוא לא רץ אני אשנה את זה לטרוק הוא ירוץ שוב אם אני אריץ את זה עכשיו הוא שוב נראה את הטסט שלנו רץ מחדש אז כאמור אנחנו יכולים להחליט איזה טסטים אנחנו רוצים להריץ ואיזה לא יש לנו הרבה אפשרויות נוספות אפשר להסתכל על הדוקומנטציה

  13. 04:47

    של הטסט אנג'י דוקומנטיישן ולראות איזה עוד דברים אנחנו יכולים להוסיף לטסטים שלנו אנחנו אנחנו יכולים להחליט על שיוך ל Group ולהגיד לו לדוגמה Group של נגיד Sanity ואני יכול בצורה הזאתי בעצם לשייך קבוצות של טסטים לתוך קבוצה מסוימת של הרצה ולבצע קליטה דרך ה-XML רק של הקבוצה הזאתי זאת אומרת לא רק לבצע קליטה

  14. 05:43

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

  15. 06:20

    זה הפעולה הזאתי אני סוגר את הקבוצה של הגרופ ואני יכול לבצע את הקריאה אני צריך לעשות

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

ההרצאה הקודמת: TestNG First Class

ההרצאה הבאה: TestNG Assertions

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

  • שימוש ב-Data Annotations
  • התקנת תוסף TestNG
  • הכרזה על סוג משתנה - Type Annotations

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

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