
הטקסט המלא של הדקות הראשונות בהרצאה «סיכום החומר בקורס סלניום מתקדם - חלק 3» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בואו נדבר על מבנה הטסטים בתוך הפרויקט אוטומציה שלנו. אחרי שסרקנו את ה-Before Class ו-Before Method ואת המתודות הסטטיות הבסיסיות שמחזירות לנו גם URL וגם את ה-Driver, הגענו למבנה של הטסט עצמו.
יש לנו את הנוטציה טסט, כאן אנחנו יכולים להגדיר את ה-Priority של הטסט והאם הוא ירוץ או לא על ידי Enable True or False. כאן יש לנו את המשתנה Data Provider.
דאטה פרוביידר בעצם אומר לאיזה סוג של נתונים אנחנו נקבל לתוך הפרמטרים שהגדרנו בטסט. כאן אנחנו משתמשים בדאטה פרוביידר של אקסל.
חשוב לזכור שהקובץ אקסל צריך להיות בספריית ה-resources שלנו, של הפרויקט. אני רואה פה את הקובץ Book1.exe שמהווה מבחינתי את ה-data source או את ה-data driven שלי בטסט הספציפי הזה.
כאן יש לי טריי, ובעצם מתחת לדראי הזה יש לי את שני קאצ'ים, שני סוגי קאצ'ים, תכף נדבר עליהם, רק נמשיך שנייה עם הדראי הזה פה. הטסט שלנו מקבל את הפרמטרים מהDataDriven שמוגדרים בנוטציה טסט, ואז אנחנו נכנסים לסרטים של טסט NG. הסרטים טסט NG בעצם מפעילים את המתודות שנמצאות בתוך
ה-Page Object לדוגמה Navigate, והמתודות האלה מחזירות ערך בוליאני במקרה שהם הצליחו נכשלות. ברגע שהם נכשלו בעצם אנחנו נצא ל-catch, אוקיי? אז יש לנו את המתודות מתוך האובייקט דפים שיצרנו בחלק העליון כ-instant לדפים עצמם, ולדוגמה יש לי פה את הקובץ, את ה-registered page, יש לי את ה-instant rp או יש לי את ה-field
registration אז אני יכול ללכת ל-field רג'סטריישן ולראות פה ממש את המתודה שמבצעת את התעונה בתוך הרג'סטריישן ובסוף היא מחזירה טרואים אם היא מצליחה.
אז כאמור זה המבנה של הטסטים שלנו, מבנה קבוע, ברור וכל הזמן חוזר על עצמו, כל טסט וטסט אמור להיות במבנה הזה. לא תמיד הוא יהיה עם דאטה דריבן אבל הוא תמיד יכול להשתמש ביכולות של הדאטה דריבן.
לגבי המבנה של הטסט עצמו, יש לנו את הטראי הראשי ואז יש לנו שתי אפשרויות לכישלון. כישלון אחד יהיה שהסרשון לא הביא אקספשן אבל החזיר פולס.
האסרט מצפה לטור ולכן כשהוא מקבל פולס הוא נכנס לפה. מה קורה כאן? יש לנו הודעה שהטסט נכשל על הסרשן ארור והפניה ללוג וכאן יש לנו גם שליחה לריפורטר של הכישלון וכאן יש לנו את ה-Utility Add Snapshot, את הוספת סנפשוט לדוח ה-HTML שלי של הריפורטנג'י
וריפורטר הביאה את הסטטוס של הטסט שלנו ככישלון. במקרה שקרה אקספשן, שלא זוהה איזה וב אלמנט או הייתה איזשהו משהו לא צפוי מבחינת הטסט, והיה אקספשן ולא חזר ערך true או false מתוך המתודות, אז אנחנו ניכנס לאקספשן הזה, לאקספשן catch exception,
ואז אנחנו נבצע הודעה מתאימה, נפנה גם שוב ל-print screen של ה-utility print screen. ונדאג שהתוצאה של הטסט תהיה כישלון.
כמו כן, גם נדפיס את ה-Print Stack Trace, נדפיס את ה-Exception עצמו, את הכישלון עצמו, על מנת לראות בדיוק מה קרה שם. אז זה לגבי המבנה של הטסט.
בואו נראה עוד פעם את ה-Data Provider שלנו. אם אני הולך ל-Data Class שלי, אני רואה פה שיש לי את ה-Data Provider שנקרא Data for Mixel.
פה אני משתמש כדי להשתמש בנתוני אקסל, וכאן יש לי את ההפניה למתודה get data from אקסל to object, ובסוף אני מחזיר את המערך הדו-מימדי. אז get data from אקסל, יש לנו את המתודה הזאת בעצם שקובעת את היכולת שלנו לקרוא מאקסל.
שימו לב שהיא מחפשת את האקסל בתוך ספריית ה-resource והיא לוקחת נתונים משורה 1 עד 3, אפשר לשנות את זה, גם להפוך את זה כפרמטר וגם לשנות את זה לפי הדרך שאנחנו רוצים,