PracticU

getParameter from TestNG

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

getParameter from TestNG
בשיעור הזה לומדים להעביר פרמטר מקובץ ה-testng.xml אל טסט סלניום, כך שאפשר לקבוע את הדפדפן לריצה ממקום אחד, בלי לשנות את הקוד בכל טסט.
צעדי העבודה
1. משתנה דפדפן: ב-before class בוחרים את הדרייבר לפי ערך של פרמטר בשם browserName. כך אפשר להגדיר את Chrome ואת Firefox במערכת, בלי שהם יפריעו זה לזה.
2. חיבור הפרמטר: את שם הפרמטר כותבים בסוגריים של האנוטציה של המתודה, ומייבאים את אנוטציית הפרמטרים של TestNG.
3. קובץ testng.xml: בתפריט TestNG בוחרים Convert to TestNG, ובקובץ שנוצר מוסיפים פרמטר בשם browserName והערך chrome.
4. בדיקה בדיבאג: מריצים עם נקודת עצירה ב-before class ורואים את הערך. אחר כך משנים את הערך ל-firefox ומריצים שוב דרך TestNG, והטסט עובר בשני הדפדפנים.
טעויות נפוצות
כשהטסט משתמש בפרמטרים, אי אפשר להריץ את הקלאס ישירות. חייבים להריץ דרך קובץ ה-XML, אחרת תתקבל שגיאה כי הפרמטר לא נשלח.
כך אפשר לשלוט בדפדפן של כל הטסטים מקובץ XML אחד.
השיעור הבא בקורס: Use Static Method

פרקי ההרצאה: getParameter from TestNG

  1. 00:00

    מבוא: שליחת פרמטר מקובץ TestNG XML

  2. 00:42

    הפעלה והשבתה של טסטים

  3. 01:40

    בחירת דפדפן לפי פרמטר

  4. 03:47

    ריכוז בחירת הדפדפן במקום אחד

  5. 04:46

    קבלת הפרמטר בתוך before class

  6. 06:19

    יצירת קובץ TestNG מהמחלקה

  7. 07:20

    הגדרת פרמטר browser ב-XML

תמלול ההרצאה: getParameter from TestNG

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

  1. 00:02

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

  2. 00:20

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

  3. 00:34

    בואו נראה דוגמא של איך אנחנו שולחים פרמטר מהטסט NGXML לתוך הטסט הסלמי שלנו. אני הולך ל-ID שלי, יש לי בו קובץ טסט שיצרתי בו כמה טסטים לדוגמא, אפשר לראות את זה כאן, יש לי את האנוטציות של before class, before method, טסט 2, טסט 1, ואנחנו רואים שיש לנו פה

  4. 00:58

    את הטסט שהוא ב-enable ופה יש לנו טסט שהוא ב-disable, בואו נעשה את זה שזה יהיה ברור, אז יש לנו בעצם שני טסטים, טסט אחד בטרו וטסט אחד בפורס, זאת אומרת, הטסט שלי ירוץ רק הטסט הזה, טסט שתיים, אוקיי?

  5. 01:22

    בואו נשנה את השם שלנו לטסט אחד ואת הטסט הזה לשם שתיים, אוקיי? לצורך הסדר הטוב. ואנחנו, מה שאנחנו רוצים לעשות זה ב-before class בעצם להחליט האם אני עובד עם החרום או עם ה-firefox.

  6. 01:40

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

  7. 02:10

    את המשתנה מערכת לשני הדרייברים לשני הבראוזרים זה לא מפריע אחד לשני אז מה שאני רוצה לעשות פה אני רוצה לעשות איזה שהוא if condition ולשתול כאן איזה שהוא פרמטר שיגיד לדוגמה if browser name אין לי עדיין את הפרמטר הזה שווה prompt תבצע את זה תבצע את התכון הזה אלס אני יכול לבצע אלס סעיף והזאתי אם browser name שווה firefox אני רק אעשה פה

  8. 02:59

    אלס סעיף browser name אבל אנחנו צריכים מאיפשהו לקבל את ההגדרה אם אנחנו רוצים לעבוד עם chrome או firefox אז אני יכול באמת פה לשתול איזשהו משתנה נגיד מסוג string ולקרוא לו browser name chrome ולעשות נקודה פסיק ולרוץ איתו אבל אני, זה יותר נכון

  9. 03:29

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

  10. 04:10

    אחד להחליט אז האפשרות שלי היא בעצם להכריז על משתנה בשם browser name ולשתול אותו בקריאה למתודה של before class ואז אני אוכל בעצם להריץ פעם אחת את החום וכשאני ארצה לשנות את זה אני אריץ דרך testng את הטסט שלי על בראוזר אחר מסוג Firefox. עכשיו מה שאנחנו צריכים לעשות השלב השני אחרי שהכנו את ה-before

  11. 04:46

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

  12. 05:43

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

  13. 06:17

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

  14. 06:35

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

  15. 07:48

    chrome ואני יכול להריץ את זה

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

ההרצאה הקודמת: Run Tests in Parallel

ההרצאה הבאה: Use Static Method

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

  • התקנת תוסף TestNG

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

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