
הטקסט המלא של הדקות הראשונות בהרצאה «Data Driven Test עם Excel - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם דיברנו בשיעורים הקודמים על data-driven טסטינג. היכולת שלנו בעצם להשתמש במקור נתונים חיצוני על מנת לבצע את הטסט שלנו מספר איטרציות.
הראינו דוגמה של data-driven, איזשהו טסט שבו אנחנו ניגשים למלא טופס ואם אנחנו רוצים לעשות אותו בצורת ה-data-driven אנחנו מקבלים נתונים ממקור חיצוני, לדוגמה האקסל הזה, ובעצם הטסט שלנו יבוצע כמספר השורות שאנחנו ניתן לו באותו אקסל.
על מנת לבצע את הפעולה הזאתי הכרנו את המערכת של ה-POI, Apache POI, ספריית ג'ארים שבהם אנחנו יכולים למצוא מתודות ואובייקטים שדרכם אנחנו יכולים לגשת לאקסל שלנו ללשונית שלנו ולנתונים בתוך כל תא ותא באקסל כל תא מכין
נתונים ואנחנו רוצים לגשת אליו, ואת זה אנחנו עושים בעזרת ה-POI שטענו לתוך הפרויקט שלנו, אוקיי? עשינו את ה-build path וראינו שיש לנו את ה-POI בתוכו, ואת ה-POI הורדנו מהספרייה של ה-POI באתר של אפאצ'י, אוקיי?
שמרנו את זה ב-hard disk שלנו והבאנו לתוך הפרויקט. אחר כך יצרנו איזושהי מתודה שהתפקיד שלה זה לזהות את הקובץ אקסל ובעצם לבנות בצורה היררכית את כל הדרך עד לנתונים בתוך התא.
זאת אומרת בהתחלה זיהינו את הקובץ עצמו, אחר כך המרנו את הקובץ עצמו לקובץ אקסל ומהקובץ אקסל ניגשנו ללשונית עצמה לפי השיטניים. אוקיי, קבענו לעצמנו תחום השדות שבהם נרצה לקחת את הנתונים, לדוגמה במקרה שלנו ארבע שורות ושלוש עמודות, זאת אומרת את כל השטח הזה, ואנחנו נוכל לבצע את זה בעזרת המתודות הבאות.
זאת אומרת אנחנו יוצרים לעצמנו איזשהו אובייקט שקבענו אותו כמערך דו-ממדי מסוג סטרינג, מערך דו-ממדי זה אומר מספר עמודות, מספר שורות ומספר עמודות.
קבענו את השטח המקסימלי שאנחנו רוצים כאמור, ואז החלטנו להתחיל לעבור, בעצם לסרוק את אותם נתונים, את אותו נתוני אקסל. עשינו את זה בעזרת תלונה מקוננת שיש לנו את ה-i ו-j.
i מייצג את השורות ו-j מייצג את העמודות. וכשאנחנו רוצים לסרוק את השורות האלה, אנחנו צריכים לכוון את הפעולה של קריאת הנתונים בתא לפי השורות והעמודות.
זאת אומרת, זאת תהיה שורה ראשונה וזאת תהיה שורה שנייה, שורה שלישית, שורה רביעית, שורה ראשונה תא ראשון, שורה ראשונה תא שני, שורה ראשונה תא שלישי וכך הלאה.
אז בואו נראה איך אנחנו כותבים את זה ב-Java. כאמור הבסיס הוא עלולת for המקוננת שה-i מטפס ועולה האינטג'ר הזה, האינדקס הזה, הוא מייצג את השורות, אבל קודם כל כל שורה ושורה אנחנו סורקים את העמודות בתוכן.
וכאן אנחנו צריכים לייצר איזושהי מתודה שלוקחת את הערך מתוך התא של האקסל. את זה אנחנו עושים בעזרת האובייקט של האקסל שיט.
אז אנחנו בעצם מזינים לתוך המערך הדו-מימני שיצרנו ואנחנו נחזיר אותו לתוך הטסט שלנו. אנחנו יוצרים פה את המערך ואנחנו קובעים שבתא מספר שורה 1 ומספר עמודה 1, אנחנו נזין את הערך של התא שאנחנו רוצים.
אז יש לנו פה את הגט-רואו ואנחנו צריכים לתת לו את ה-i שזה ה-i מייצג את השורות פלוס 1 כי אנחנו לא רוצים את העמודה של הכותרות. אז אנחנו רוצים שהוא יתחיל פה זה היה פלוס 1 נקודה ויש לנו פה את הגט-סל וגם פה אנחנו ניתן לו j פלוס 1 כי אנחנו לא רוצים את העמודה של המספור ואנחנו רוצים רק את השטח הזה.
וכאן אנחנו נצטרך לעשות get cell value של ה-string. אנחנו רוצים get cell string, בואו נראה איפה יש לנו אותו.
יש לנו את ה-get string cell value, זהו, ואז אנחנו יכולים לרוץ. מה שיקרה בעצם, הלולאה הזאת, היא הלולאה המקוננת הזאת, שתי הפורים האלה ירוצו ויתחילו פה, יסרקו את כל העמודה, את כל השורה הזאת, ואחר כך יעברו לשורה השנייה, השלישית וכדומה.
בואו נריץ ונראה, נשים את הדיבאג שלנו פה בתוך השורה הזאתי שאחרי כל התהליך ונריץ ואנחנו רואים שיש לנו את ה-My Object, אני יכול לשים אותו ב-Watch, בבקשה אם אני Watch, ופה אני יכול לראות שיוצרו לנו העמודות הבאות, אז יש לנו פה את כל הנתונים שהיו באקסל, עכשיו עברו לאובייקט הווירטואלי הזה שהוא נקרא
My Object Data, ואיתו בעצם אני אוכל לבצע את הנתונים ולבצע את הטסט שלי שורה אחרי שורה. אז בואו מיד נמשיך ונראה איך אני משלב את התהליך הזה בתוך המלצה של הטסט, אוקיי?
אז בואו נעצור פה ומיד נראה איך אנחנו משלבים את התהליך הזה בתוך הטסט. כן, כדי לעבוד עם המתודה שקוראת נתונים מהאקסל, אנחנו צריכים לעבוד עם Data Provider.
זאת אומרת, אנחנו צריכים ליצור לעצמנו דאטה