PracticU

כתיבת טסטים - צילום מסך

בלי כתוביותעם כתוביות
PracticU › קורס Appium - קורס אוטומציה במובייל › כתיבת טסטים - צילום מסך
מילון מושגים:
דוח - מסמך או תצוגה שמסכמים נתונים בצורה מאורגנת לצורך הבנה וקבלת החלטות.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
Selenium - כלי לאוטומציה של דפדפן, המשמש בעיקר לבדיקות אוטומטיות של אתרים ויישומי אינטרנט.
Appium - כלי בקוד פתוח לאוטומציה של בדיקות באפליקציות מובייל ל-Android ול-iOS.

כתיבת טסטים - צילום מסך
צילום מסך מתוך טסט על אפליקציית אנדרואיד, כדי שדוח הריצה יציג את המסכים שהטסט ביקר בהם. צילום חשוב במיוחד בכישלון, ולכן כדאי לצלם לפחות אז.
השלבים העיקריים
1. צילום: עושים cast של ה-driver ל-TakesScreenshot, וקוראים ל-getScreenshotAs עם OutputType.FILE. כך נוצר אובייקט קובץ של התמונה.
2. נתיב התיקייה: מחברים System.getProperty("user.dir"), שמחזיר את הנתיב האבסולוטי של הפרויקט, עם תיקיית images שכבר קיימת בפרויקט.
3. שם ייחודי: מוסיפים timestamp (מספר שרק עולה), כך שתמונה אחת לא דורסת אחרת.
4. בניית הנתיב: מחרוזת pathToImage שמורכבת מתיקיית העבודה, משם המתודה (מחרוזת שהוגדרה בתחילת הטסט עם שם הטסט), מהקו התחתון ומה-timestamp, ובסוף הסיומת .png.
5. שמירה: יוצרים new File עם הנתיב ומעתיקים אליו את הקובץ שנוצר, בעזרת copyFile.
6. הרצה: מריצים ב-Debug. הצילום נעשה מיד אחרי הקשת הטקסט, ובתיקיית images מופיעה תמונה עם הזמן הנוכחי שמציגה את המסך האחרון.
אפשר לצלם כמה תמונות שרוצים ולשלב אותן בדוח הריצה, למשל TestNG Reports או Extent Reports.
התהליך דומה לצילום מסך ב-Selenium, ובהמשך נראה גם הקלטת וידאו של הריצה כולה באמצעות Appium.
השיעור הבא בקורס: כתיבת טסטים - צילום טסט לסרט

פרקי ההרצאה: כתיבת טסטים - צילום מסך

  1. 00:00

    חשיבות צילום מסך בדוח הריצה

  2. 00:54

    צילום מסך ביכולות Selenium

  3. 01:30

    getScreenshotAs ויצירת קובץ התמונה

  4. 02:04

    בניית נתיב לתיקיית images

  5. 02:39

    שם קובץ ייחודי עם Timestamp

  6. 03:19

    שילוב שם המתודה בשם הקובץ

תמלול ההרצאה: כתיבת טסטים - צילום מסך

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

  1. 00:02

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

  2. 00:31

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

  3. 00:45

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

  4. 01:04

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

  5. 01:27

    כדי לקחת את סילום המסך. ברגע שעשינו את הקאסט הזה של טייק סקרין שוט, אנחנו יכולים לעשות את ה-get-creenshot-as ואנחנו יכולים להגיד לו שאנחנו רוצים את זה כ-output output-type sfi ברגע הזה בעצם יצרנו את האובייקט של התמונה.

  6. 01:48

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

  7. 02:03

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

  8. 02:23

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

  9. 02:39

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

  10. 03:06

    אז אחרי שיש לנו את הטיימסטאמפ שכאמור הוא מספר רץ חד ערכי אנחנו יכולים ליצור איזשהו סטרינג שנקרא לו path to image זה יהיה סטרינג והוא יהיה מורכב בעצם מהwork working here פלוס את המתוד name ואז המתוד name בעצם זה איזשהו סטרינג שאני קבעתי בתחילת הטסט שמכיל את השם של

  11. 03:28

    הטסט לדוגמה בין הפסנתי אז קבעתי אותו ופה אני משתמש בו על מנת שיהיה לי קל להבין את הסטפשוט מה הוא אמור להכיל ולסיום אני אני חושב on power underscore אבל הפעם אני

לקורס המלא: קורס Appium אונליין

ההרצאה הקודמת: כתיבת טסטים - סינכרון - המתנה לטעינת אלמנטים

ההרצאה הבאה: כתיבת טסטים - צילום טסט לסרט

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

  • תרשים מעברי מסך
  • מצלמה - חלק 1 - צילום תמונה
  • הגדרת מסך פתיחה - Splash Screen
  • מסך הגדרות לאפליקציה ב-Xcode-Swift

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

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