PracticU

Data Driven Test - חלק 3

בלי כתוביותעם כתוביות
PracticU › קורס סלניום מתקדם - CI/CD - Continues Integration › Data Driven Test - חלק 3
מילון מושגים:
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

Data Driven Test - חלק 3
בהמשך Data Driven רואים שהמערך יכול לשאת טיפוסים שונים, מפרידים את ה-Data Provider לחבילה ומחלקה משלהם, ומטפלים בשגיאה של data provider mismatch.
צעדי העבודה
1. טיפוס אחר מסטרינג: ה-Data Provider מחזיר Object[][], ולכן אפשר לשלוח מספרים שלמים ולא רק מחרוזות. הטסט מקבל את הערך כ-int ומדפיס אותו בעזרת System.out.println.
2. שגיאת mismatch: הודעת data provider mismatch נבעה מטעות בהזנת השורות. אחרי התיקון הטסט רץ על כל השורות.
3. הפרדה לחבילה משלה: את ה-Data Provider מעבירים למחלקה בשם data בחבילה dp, והטסט מפנה אליה באמצעות dataProviderClass.
4. הרצה נקייה: מריצים רק את הטסט, והנתונים מגיעים מהמחלקה הנפרדת בלי שינוי בקוד הטסט.
הערות
הטיפוס של הערכים במערך צריך להתאים לפרמטר של הטסט. אם שולחים מחרוזת לפרמטר שמוגדר כ-int, הטסט לא יעבוד.
הפרדת המחלקות משאירה את קלאסי הטסט נקיים, ותואמת את שיטת העבודה שנלמדה.
השיעור הבא בקורס: Data Driven Test עם Excel - חלק 1

פרקי ההרצאה: Data Driven Test - חלק 3

  1. 00:00

    מבוא להמשך הדאטה דריבן

  2. 01:01

    דוגמה: לוגין עם נתונים רבים

  3. 02:14

    Data Provider מסוג Object

  4. 03:21

    שימוש במספרים בטסט Data Driven

  5. 04:12

    הדפסת נתוני הדאטה פרוביידר

  6. 06:25

    תיקון שגיאת data provider mismatch

  7. 08:03

    הרצת כל האיטרציות ברצף

תמלול ההרצאה: Data Driven Test - חלק 3

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

  1. 00:02

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

  2. 00:28

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

  3. 00:45

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

  4. 01:13

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

  5. 01:42

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

  6. 02:11

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

  7. 02:34

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

  8. 03:06

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

  9. 03:45

    נגיד 11 זאת תהיה הסדרה השנייה 12 ו-13 כן ופה אני אשלח נגיד 100 200 וכך הלאה אוקיי ואני רוצה בעצם להשתמש אז מה שאני צריך לעשות זה רק להכין את הצד המקבל את אותה מתודה שדרכה אני רוצה לעבוד לדוגמא אני אכין פה טסט ואני אתן לו את הקריאה את האטריביוט את הפרטים של הדאטה פרוביידר שלו אני אתן לו את הדאטה פרוביידר שיזמנו עכשיו ופה כל מה שאני אבצע

  10. 04:56

    זה יהיה בליק אוי פרינט דיפי דאטה פרוביידר רק בשביל להדפיס את הדאטה פרוביידר שלי ומה שהיא תקבל אני צריך לציין אינט למה אוקיי ופה אני רק אעשה סיסו ואני אדפיס אותו מיד אני אשלים את הסיסו לתהליך אוטומטי תכף זה יבוא סיסו אני רוצה להדפיס אותו לסיסטם אאוט פרינט לאן רק שנייה פה יש לי את ה-data provider ופה יש לי את

  11. 05:58

    ה-system out הנה זה מגיע ואני מדפיס number on pp פה אני פשוט אדפיס את ה-number שלי אוקיי אז בואו נריץ רק את הטסט שלי אני עומד על הטסט שלי ואני לוחץ run ובואו נראה מה קורה בקונסול הצבעתי צבעתי את השם של המתודה והרצתי אותו בעצם ואני רואה פה בואו נראה מה קרה לא הוא לא הוא לא הריץ בוא ננתח את השגיאה מה השגיאה שלנו לפי ההודעת שגיאה data provider mismatch אז יש לנו פה את הdata

  12. 06:47

    provider שלנו שנותנת number כן אני צריך לתת כמובן שלוש פעמים את הnumber שלי סליחה זה הייתה טעות בבחינת הזנה וגם פה int number 3 ועכשיו אנחנו יכולים להריץ את ה-methoda שלנו ולקבל רק שנייה אני אתקן גם את זה חלק כזה 2 ו-3 אוקיי אז הכל תקין עכשיו ואנחנו יכולים להריץ אותו נצבע את הפרינט db ונריץ ונראה מה קורה קונסול שלנו יש לנו את

  13. 07:05

    ה-before method ו-number form dp 123 ו-after יותר מתוד ואחר כך יש לנו את הסדרת מספרים הבאה מה שרציתי להראות בהדגמה הזאת זה בעצם היכולת שלנו בעזרת האובג'ק דאטה זה המסגרת הזאת של הנתונים אנחנו יכולים בעצם לשלוח כל מיני סוגים של נתונים כל מיני סוגים של דאטה לתוך המתודות או הטסטים שלנו ואנחנו צריכים להיות מותאמים אנחנו צריכים לדעת בדיוק

  14. 08:37

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

לקורס המלא: קורס סלניום מתקדם אונליין

ההרצאה הקודמת: Data Driven Test - חלק 2

ההרצאה הבאה: Data Driven Test עם Excel - חלק 1

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

  • Data Contracts
  • כתיבת Test Case
  • תוכנית בדיקה - Test Plan
  • Variables and Data Types

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

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