PracticU

כתיבת טסטים - דפדפן זיהוי אלמנטים - חלק 1

בלי כתוביותעם כתוביות
PracticU › קורס Appium - קורס אוטומציה במובייל › כתיבת טסטים - דפדפן זיהוי אלמנטים - חלק 1
מילון מושגים:
Appium - כלי בקוד פתוח לאוטומציה של בדיקות באפליקציות מובייל ל-Android ול-iOS.
Maven - כלי לבנייה ולניהול תלויות בפרויקטים של Java, המארגן את תהליך ההידור והאריזה.
Java - שפת תכנות עילית ומונחית עצמים, הרצה על מכונה וירטואלית (JVM) ומשמשת לפיתוח מגוון יישומים.
שורת פקודה - ממשק טקסטואלי שבו מקלידים פקודות למערכת ההפעלה ומקבלים תגובה בטקסט, במקום להשתמש בעכבר.
URL - הכתובת שמזהה משאב באינטרנט, למשל דף אתר, וכוללת פרוטוקול, שם מארח ונתיב.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
Selenium - כלי לאוטומציה של דפדפן, המשמש בעיקר לבדיקות אוטומטיות של אתרים ויישומי אינטרנט.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.

כתיבת טסטים - דפדפן זיהוי אלמנטים - חלק 1
הטסט האוטומטי הראשון שניגש לדפדפן Chrome במכשיר אנדרואיד המחובר למחשב. התרחיש: להיכנס לוויקיפדיה, ללחוץ על זכוכית המגדלת, להקליד ביטוי חיפוש ולוודא שהוא מופיע בדף התוצאות.
איך מחברים טסט ל-Appium
1. תלות ב-Maven: בקובץ ה-POM מגדירים dependency ל-io.appium (java-client). זה הגשר אל Appium Server. בלי Maven אפשר להגדיר external jar ב-Java build path של הפרויקט.
2. אובייקט Capabilities: הקליינט מעדכן את השרת באמצעות DesiredCapabilities. יוצרים מופע ומוסיפים לו מידע עם setCapability.
3. Device name: המספר הסריאלי של המכשיר, שמתקבל מהפקודה adb devices בשורת הפקודה.
4. Browser name: מציינים Chrome, כי רוב האתרים מותאמים גם לדפדפן במכשיר נייד. לטסט הזה שתי ההגדרות מספיקות.
5. אובייקט URL: כתובת Appium Server בברירת המחדל היא http://127.0.0.1:4723/wd/hub, ונדרש import של java.net.
6. AndroidDriver: יוצרים אותו עם ה-URL כ-Remote Address ועם ה-capabilities, בדומה ל-WebDriver בטסטי Selenium רגילים.
7. בדיקת חיבור: מריצים driver.get עם כתובת האתר. בלוג של Appium Server רואים את התקשורת, וגם שגיאות יופיעו שם.
פקודות והגדרות
- adb devices
- http://127.0.0.1:4723/wd/hub
הטסט נכתב בקלאס TestNG עם אנוטציית @Test. אפשר בהמשך להעביר את הקוד ל-Before Class או Before Method.
אחרי השיעור אפשר לפתוח דפדפן Chrome במכשיר אנדרואיד מתוך קוד Java ולהמשיך לפעולות על אלמנטים.
השיעור הבא בקורס: כתיבת טסטים - דפדפן זיהוי אלמנטים - חלק 2

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

  1. 00:00

    חיבור Appium Client דרך Maven

  2. 01:02

    תרחיש חיפוש בוויקיפדיה ב-Chrome

  3. 01:58

    אובייקט Capabilities ותפקידו

  4. 02:37

    מתודת טסט ב-TestNG

  5. 03:14

    יצירת מופע DesiredCapabilities

  6. 03:53

    setCapability ופרמטר Device Name

  7. 04:34

    המספר הסריאלי מ-adb devices

  8. 05:31

    הגדרת Browser Name ל-Chrome

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

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

  1. 00:02

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

  2. 00:13

    כמה דברים בסיסיים לפני שאנחנו מתחילים. בפרויקט שלי שהוא פרויקט Java שנעזר במייבן, אני צריך קישוריות ל-Appium Client. אני מסיק את הקישוריות הזאת בעזרת קובץ APOM להגדיר Dependency או תלות ב-Io.Appium.

  3. 00:34

    הוא נקודה אפיום זה בעצם קישוריות לקובץ של הקליינט קובץ Java מינוס קליינט של אפיום אפיום קליינט הוא הגשר שלנו לאפיום סרבר שבעזרתו אנחנו נתממשק עם המכשיר הפיזי שלנו כמובן שלא חייבים לעבוד במייבן אפשר ללכת לproperty של הפרויקט ולהגדיר את ה-Java build path ולקשר בעזרת external jar לקובץ שאני רוצה

  4. 01:06

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

  5. 01:33

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

  6. 01:51

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

  7. 02:06

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

  8. 02:37

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

  9. 02:53

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

  10. 03:07

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

  11. 03:24

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

  12. 03:37

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

  13. 03:56

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

  14. 04:12

    יש לנו פה רשימה של מידע תוכן שאני מוכן לשלוח. לדוגמה, תמיד אני אצטרך את ה-Device Name. אני שולח את הפרמטר Device Name ונצטרך לשלוח את ה-Value, זה בעצם אומר המספר הסריאלי של המכשיר הפיזי שעליו אני רוצה להתממשך.

  15. 04:34

    איך אני יודע איזה Device Name אני צריך לנקוב בו, איזה מידע אני צריך לשלוח ל-Devices. המספר הסריאלי מופיע לנו כחלק מהחיפוש שאנחנו עושים בעזרת ה-Command Line והפקודה ADB Devices.

  16. 04:51

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

  17. 05:20

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

  18. 05:35

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

  19. 05:56

    אז אני יכול להעתיק את ה-capability, את ה-set capability מלמעלה, אבל במקום device name אני אחפש את העיתוי browser name, ומה שאני אשלח מבחינתי יהיה חום.

  20. 06:11

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

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

ההרצאה הקודמת: הרצת הטסטים האוטומטיים - סיכום

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

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

  • דפדפן Tor - Windows 11
  • אובייקט Window (דפדפן עצמו)
  • כל מה שצריך לדעת על טסטים ב-QA - חלק 1
  • זיהוי מגע באנדרואיד

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

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