
Object[][], ולכן אפשר לשלוח מספרים שלמים ולא רק מחרוזות. הטסט מקבל את הערך כ-int ומדפיס אותו בעזרת System.out.println.data provider mismatch נבעה מטעות בהזנת השורות. אחרי התיקון הטסט רץ על כל השורות.data בחבילה dp, והטסט מפנה אליה באמצעות dataProviderClass.int, הטסט לא יעבוד.הטקסט המלא של הדקות הראשונות בהרצאה «Data Driven Test - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בשיעורים האחרונים התחלנו לדבר על הדאטה דריבן, על טסטים אוטומטיים שהם מונחי נתונים, שהם רצים בהתאם לנתונים שמועברים להם ממקור חיצוני ובעצם הטסט מהווה איזושהי שבלונה, איזשהו טמפלייט שדרכו אנחנו מבצעים את הטסט עם כמה וכמה איטרציות של נתונים, כמה וכמה שורות של נתונים.
אז ראינו למה זה חשוב, ראינו שזה יתרון גדול של האוטומציה על הבודק הידני, הבדיקות הידניות הספורדיות הבודדות ובעצם היכולת שלנו לבדוק שוב ושוב את המערכת עם מספר גדול של איתרציות ונתונים.
דיברנו על Data Object, מה זה אומר Data Object? Data Object בעצם זה איזשהו מערך דו-מימדי של שורות שורות שורות של נתונים שכל שורה מהווה איתרציה בתהליך הבדיקה שלנו לטסט הספציפי שאנחנו רוצים למצוא, לדוגמה לוגין, אנחנו רוצים לבצע לוגין, מבצעים הכנסת יוזרנמפ, פסוורד, לחיצה על קליק, לוודא שהיוזר הצליח להיכנס
והיציאה וחוזר חלילה של הכנסת נתונים שוב, זה בעצם התהליך של האיתרציות של נתונים ובדיקות. הראינו את הדוגמה של הקמת טסט, שימוש ב-data-driven או data provider שמאפשר לטסט שלנו לינוק את הנתונים לקבל את הנתונים מהדאטה פרוביידר ולהריץ את זה אמרנו שיש
כל מיני סוגים של דאטה פרוביידר כמו דאטה אובייקט ישירות ממתודה מסוימת או דרך קובץ אקסל או דרך דאטה בס ואנחנו נדגים את השיטות האלה אנחנו בינתיים הדגמנו רק את השיטה הראשונה של דאטה דריבן בשיעורים הבאים נעסוק גם באקסל ונדבר גם על הsql ועל האורקל בואו ניגש ישר לדוגמה של השיעור הקרוב הנוכחי מה אני רוצה בעצם להראות בתהליך הנוכחי
של הכתיבה הזה. אני רואה פה את הדוגמה, יצרתי סוג של מתודה, הצמדתי לה את ה-Attribute Data Provider והיא בעצם מכילה איזשהו אובייקט, סוג של אובייקט, שהוא מורכב מהשני סימנים האלה של מערך דו-מימדי.
מה זה אומר בעצם? סוג של נתונים מסוג Object-Object, רמה אחת מעל הסטרינג האינט או כל סוג משתנה מובנה אחר ובעצם זה אומר שאני יכול להרגיש חופש לבצע הזנת נתונים מסוגים שונים זאת אומרת אני לא חייב לקבוע מראש שזה יהיה מערך דו-ממדי רק של סטרינגים או רק של אינטג'רים או רק של דאבל או רק של כל מיני ביטויים אחרים בואו נראה דוגמא אם אני רוצה עכשיו
נגיד לבצע את העתקה של הדאטה פרוביידר הזה ואני אעתיק אותו פה למטה אז יש לי details אני אקרא לזה details int בוא נגיד שאני רוצה לשלוח אינטג'רים אז אני עושה את אותה פעולה בדיוק כמו שעשיתי קודם אני פה אשנה גם את השם של המתודה דיטל אינט ופה אני משנה ושולח שורות של נתונים ואני שולח אינטג'רים במקום סטרינגים ופה אני אשלח
נגיד 11 זאת תהיה הסדרה השנייה 12 ו-13 כן ופה אני אשלח נגיד 100 200 וכך הלאה אוקיי ואני רוצה בעצם להשתמש אז מה שאני צריך לעשות זה רק להכין את הצד המקבל את אותה מתודה שדרכה אני רוצה לעבוד לדוגמא אני אכין פה טסט ואני אתן לו את הקריאה את האטריביוט את הפרטים של הדאטה פרוביידר שלו אני אתן לו את הדאטה פרוביידר שיזמנו עכשיו ופה כל מה שאני אבצע
זה יהיה בליק אוי פרינט דיפי דאטה פרוביידר רק בשביל להדפיס את הדאטה פרוביידר שלי ומה שהיא תקבל אני צריך לציין אינט למה אוקיי ופה אני רק אעשה סיסו ואני אדפיס אותו מיד אני אשלים את הסיסו לתהליך אוטומטי תכף זה יבוא סיסו אני רוצה להדפיס אותו לסיסטם אאוט פרינט לאן רק שנייה פה יש לי את ה-data provider ופה יש לי את
ה-system out הנה זה מגיע ואני מדפיס number on pp פה אני פשוט אדפיס את ה-number שלי אוקיי אז בואו נריץ רק את הטסט שלי אני עומד על הטסט שלי ואני לוחץ run ובואו נראה מה קורה בקונסול הצבעתי צבעתי את השם של המתודה והרצתי אותו בעצם ואני רואה פה בואו נראה מה קרה לא הוא לא הוא לא הריץ בוא ננתח את השגיאה מה השגיאה שלנו לפי ההודעת שגיאה data provider mismatch אז יש לנו פה את הdata
provider שלנו שנותנת number כן אני צריך לתת כמובן שלוש פעמים את הnumber שלי סליחה זה הייתה טעות בבחינת הזנה וגם פה int number 3 ועכשיו אנחנו יכולים להריץ את ה-methoda שלנו ולקבל רק שנייה אני אתקן גם את זה חלק כזה 2 ו-3 אוקיי אז הכל תקין עכשיו ואנחנו יכולים להריץ אותו נצבע את הפרינט db ונריץ ונראה מה קורה קונסול שלנו יש לנו את
ה-before method ו-number form dp 123 ו-after יותר מתוד ואחר כך יש לנו את הסדרת מספרים הבאה מה שרציתי להראות בהדגמה הזאת זה בעצם היכולת שלנו בעזרת האובג'ק דאטה זה המסגרת הזאת של הנתונים אנחנו יכולים בעצם לשלוח כל מיני סוגים של נתונים כל מיני סוגים של דאטה לתוך המתודות או הטסטים שלנו ואנחנו צריכים להיות מותאמים אנחנו צריכים לדעת בדיוק
איזה נתונים לקבל אבל אין שום בעיה לשלוח כל מיני סוגים בעזרת האובייקט. אם הייתי משתמש בסטרינג