
הטקסט המלא של הדקות הראשונות בהרצאה «ReportNG - חלק 4» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בסרטונים הקודמים דיברנו על ה-ReportNG, חלק מהדרישות שלנו באוטומציה זה לספק דוח HTML שבו נוכל להראות איזה טסטים עברו ואיזה טסטים נכשלו, איזה טסטים לא בוצעו ובעזרת הדוח ה-HTML של ה-ReportNG אנחנו יכולים לספק תמונת מקרו, תמונת מצב של הטסטים שהרצנו.
התחלנו לדבר על הטיפים ועל הנקודות שאנחנו יכולים להוסיף ל-Report או להשתמש ב-Report, מנת לשפר אותו אמרנו שאנחנו יכולים להוסיף עיצוב html אמרנו שאנחנו יכולים לקבוע בצורה ישירה את תוצאת ה-report האם זה פאסופי ואמרנו שאנחנו צריכים בעצם לעשות כמה פעולות על מנת לעצב את הדוח שלנו דרישה נוספת שיש מצוות האוטומציה ומהדוח של הצוות אוטומציה זה לספק תמונת מסך של
הכישלון. בעת כישלון נרצה לצלם את המסך ולצרף את זה לדוח על מנת להראות מה קרה בזמן הכישלון. בשלבים מאוחרים יותר אולי נוכל לבצע אפילו סרטון של הכישלון או סרטון של הריצה אבל הדבר הבסיסי שנרצה לעשות זה להוסיף ל-ReportNG את היכולת להציג סנפשוט צילום מסך של הריצה שעשינו בעת כישלון.
הוספת צילום מסך לדוח ה-HTML שלנו ל-ReportNG או לדוח HTML אחר כרוכה ביצירת שתי מתודות. מתודה אחת היא צילום המסך עצמו בזמן מסוים. מתודה שנייה היא השילוב של התמונה שצילמנו במתודה הראשונה לתוך הדוח HTML. איך אנחנו נעשה את זה?
בואו נפנה לחלק של המימוש ונראה איך אנחנו בעצם יוצרים את שתי המתודות האלה ומשלבים אותן בדוח שלנו בתוך ריצה אז אני עובר ל-id זה ה-id שלי האקליפס ויש לי פה מתודה שהיא מתודת testng מסוג test יצרתי איזשהו טקסט בתוך המתודה שאני מוציא למסך ל-log אבל היא לא בעצם עושה הרבה ב-before method של המתודה הזאת יש פתיחת מסך פתיחת דרייבר של WebDriver אם אני מסתכל פה על ה-Before
Class אז יש לי פה את ה-Driver ChromeDriver יצירת ChromeDriver וב-Before Method יש לי את ה-DriverGate זאת אומרת שהמתודה לא תעשה הרבה יותר מה-Before Class וה-Before Method אבל היא תדפיס את ה-Driver עצמו כשאנחנו נמצאו את המתודות הנכונות.
אז בשלב הזה הייתי רוצה לייצר את ה-StateScreen, המתודה הראשונה מתוך שתיים. לאחר מכן אני ארצה להוסיף אותה לתוך הדוח, אבל בשלב הראשון אני ארצה לצלם את המסך של הבראוזר שלי בכל נקודת זמן שאני ארצה.
לצורך זה אני יוצר מתודה, אני נותן לה הרשאות public, אני קובע שהיא סטטית, היא לא דינמית, היא רגילה, זאת אומרת מתודה שלא תלויה בהתחול של אינסטנט.
או באיזשהו אובייקט או יצירה של אינסטנט דינמי אלא היא סטטית ואני יכול להפעיל אותה בכל רגע בכל שלב ללא צורך ביצירת אינסטנט היא מחזירה פייל היא מחזירה בעצם קובץ ואני קורא לה print screen ומה שהיא צריכה לקבל זה את ה-web driver הדרייבר למה אנחנו צריכים לשלוח לה את הדרייבר כי היא צריכה להשתמש בדרייבר על
מנת לצלם את המסך פעולת הצילום מסך היא פעולה שנגזרת מאובייקט הדרייבר, ה-WebDriver שלנו. אז השלב הראשון של הקמת המתודה לצילום מסך תהיה ביצוע הצילום עצמו.
ביצוע הצילום עצמו מחייב אותנו ליצור אינסטנט של פייל. אז אני יוצר פייל ואני אקרא לו snap. אוקיי, זה השם שאני קורא לו אינסטנט פייל.
שימו לב שהפייל שייך ל-Java.io פייל. ופה אני מבצע את הפעולה של צילום המסך. לצורך זה אני משתמש בפעולה שנקראת take screenshot, ואני משתמש בדרייבר.
אני עושה איזשהו סוג של קאסטינג, איזשהו סוג של חיוב הדרייבר להפוך לצילום מסך ולפלוט את צילום המסך לתוך הפייל. זו הדרך שאני כותב את ה-takes screenshot, הרווח זה בתוך סוגריים, פרייבר כשאני עושה נקודה זה יש לי את היכולת בעצם לעשות get screenshot as ופה אני צריך לבחור סוג של ה-output זה הדרך שאני ארצה ליצור את הסנפשוט שלי אחרי שיצרתי את הסנפשוט בעצם
אני צריך לבצע את יצירת הקובץ שאליו אני אעתיק את הסקרין שוט לצורך כך אני אבצע איזשהו יצירת סטרינג של טיימסטם מה זה אומר יצירת סטרינג של טיימסטם זה איזשהו סטרינג של מספרים חד ערכיים שבעצם מייצגים את הזמן הנוכחי שאנחנו נמצאים בו זאת אומרת את השנה חודש יום שעה דקה שנייה ובעזרת הטיימסטם אנחנו יוצרים
סטרינג שהוא חד ערכי אז בואו נראה איך אנחנו עושים את זה אנחנו משתמשים באובייקט שנקרא דייט פורמט ואנחנו קוראים לו טיימסטנט ואנחנו יוצרים אינסטנט של ניו סמפל סימפל אנחנו צריכים להגיד איזה פורמט אנחנו רוצים שיהיה לטיימסטנט אנחנו רוצים שזה יהיה רצף של מספרים ללא סלאשים ומקפים ולכן אני אשתמש בפורמט הזה dd שימו
לב שהחודש צריך להיות באותיות גדולות אונדרסקור את הסימון של השנה ארבע פעמים y את הסימון של השעה הסימון של הדקה ואת הסימון של השנייה אוקיי השלב הבא זה בעצם יצירת הסטרינג עצמו אני יוצר את הטיימסטמפ הנוכחי על ידי שימוש באינסטנט שיצרתי ואני רוצה להשתמש בזמן הנוכחי על ידי יצירת
אינסטנט של דייט זו הצורה שאני עושה את זה זה בעצם אומר, קח את התאריך הנוכחי, את הזמן הנוכחי ותעצב אותו בפורמט שיצרנו בשורה 103 למעלה.
אוקיי, אז בעצם צילמנו את הצילום מסך של הדרייבר