
io.appium (java-client). זה הגשר אל Appium Server. בלי Maven אפשר להגדיר external jar ב-Java build path של הפרויקט.DesiredCapabilities. יוצרים מופע ומוסיפים לו מידע עם setCapability.adb devices בשורת הפקודה.http://127.0.0.1:4723/wd/hub, ונדרש import של java.net.driver.get עם כתובת האתר. בלוג של Appium Server רואים את התקשורת, וגם שגיאות יופיעו שם.adb deviceshttp://127.0.0.1:4723/wd/hub@Test. אפשר בהמשך להעביר את הקוד ל-Before Class או Before Method.הטקסט המלא של הדקות הראשונות בהרצאה «כתיבת טסטים - דפדפן זיהוי אלמנטים - חלק 1» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
קוראים לכולם בסרטון הקרוב נעשה את הטסט האוטומטי הראשון שלנו על ידי גישה למכשיר מובייל שמחובר למחשב, קאט חום וביצוע פעולות.
כמה דברים בסיסיים לפני שאנחנו מתחילים. בפרויקט שלי שהוא פרויקט Java שנעזר במייבן, אני צריך קישוריות ל-Appium Client. אני מסיק את הקישוריות הזאת בעזרת קובץ APOM להגדיר Dependency או תלות ב-Io.Appium.
הוא נקודה אפיום זה בעצם קישוריות לקובץ של הקליינט קובץ Java מינוס קליינט של אפיום אפיום קליינט הוא הגשר שלנו לאפיום סרבר שבעזרתו אנחנו נתממשק עם המכשיר הפיזי שלנו כמובן שלא חייבים לעבוד במייבן אפשר ללכת לproperty של הפרויקט ולהגדיר את ה-Java build path ולקשר בעזרת external jar לקובץ שאני רוצה
איזה טסט אני רוצה לדמות עכשיו? אני רוצה לגשת לבראוזר מסוג חום שנמצא על הדיווייס מובייל שלי, להיכנס לאתר שנקרא ויקיפדיה, כולנו מכירים אותו, ללחוץ על הזכוכית מגדלת, להקיש פה ביטוי חיפוש לדוגמה אפיום ולוודא באמת שתוצאת החיפוש התקבלה נכונה על ידי וידוא שקיים פה את אותה מילת חיפוש
שחיפשתי בדף הפותח, דף התוצאות. ואחרי ההקדמה הזאת אנחנו יכולים בעצם להתחיל ולראות איך אנחנו כותבים ממש ממש את הטסט שהוא יהיה טסט סלניום מבוסס סלניום ונדמה דרכו את הטסט הפונקציונלי שתיארתי כרגע.
כשאנחנו מתחילים לכתוב את הטסט הראשון אנחנו צריכים לזכור שהשיטה של עבודה עם קליינט אפי מול סרבר אפי דורשת מאיתנו לעבוד עם אובייקט שנקרא capabilities.
אנחנו צריכים להרכיב איזשהו capabilities כמה תכונות על מנת שאנחנו נוכל לעדכן את הקליינט להתממשק עם האפיום סרבר ודרכו להתממשק עם הדיווייס הפיזי ולבצע פעולות פורציונליות על הדפדפן באותו דיווייס אנדרואיד שמחובר למחשב שלנו אז הטסט שלנו ליצור תקשורת או סשן עם האפיום סרבר בעזרת ה-capability ואז אנחנו נוכל
אבצע את הפעולות על הדפדפן שנמצא על המכשיר. אז בקלאס שממנו אני אבצע את הריצה שהוא קלאס מסוג טסט NG, יצרתי אנוטציה של טסט והצרתי איזושהי מתודה שתבצע את הריצה.
אחר כך נוכל לשלב את כל הקוד שאנחנו כותבים בכל מיני חלקים אחרים של הקלאס טסט. נוכל לכתוב את זה ב-Before Class או ב-Before Method, אבל כרגע אנחנו נעשה את זה בצורה הכי אינטואיטיבית, הכי פשוטה.
פשוט נכתוב את האובייקט קפביליטי בתוך הטסט שלה. אז בואו נתחיל. כשאנחנו רוצים ליצור את האובייקט של הקפביליטי, אז אנחנו צריכים ליצור אינסטאנס, מופע של דיזייט קפביליטי ונקרא לו קיצור של קפביליטי.
יצרנו את האובייקט הזה ומה שאנחנו צריכים לעשות עכשיו, אנחנו צריכים בעצם להתחיל לשלוח לו פרמטרים או להלביש עליו מידע על מנת שבסופו של דבר נוכל להשתמש בו.
כרגע הוא אובייקט ריק, אז בואו ניצור פה איזושהי הערה ונכתוב כאן שאנחנו יוצרים, השלב הבא שלנו יהיה ביצוע של הלבשת מידע. איך אנחנו עושים את זה? אנחנו עושים את זה בעזרת האובייקט שיצרנו, המופע שיצרנו, ואנחנו שולחים לו, בעזרת
המתודה set-capability אנחנו רוצים לשלוח לו מידע. אז אני שולח לו את המידע, איזה מידע אני צריך לשלוח לו? בעזרת הפרמטר מוביל קפביליטי טייט, אני יכול להחליט איזה מידע אני רוצה לשלוח.
יש לנו פה רשימה של מידע תוכן שאני מוכן לשלוח. לדוגמה, תמיד אני אצטרך את ה-Device Name. אני שולח את הפרמטר Device Name ונצטרך לשלוח את ה-Value, זה בעצם אומר המספר הסריאלי של המכשיר הפיזי שעליו אני רוצה להתממשך.
איך אני יודע איזה Device Name אני צריך לנקוב בו, איזה מידע אני צריך לשלוח ל-Devices. המספר הסריאלי מופיע לנו כחלק מהחיפוש שאנחנו עושים בעזרת ה-Command Line והפקודה ADB Devices.
ב-ADB Devices, אם עשינו את כל הכישוריות בצורת תקינה למכשיר הפיזי, יש לנו פה רשימה של מכשירים שמחוברים למחשב שממנו נעריץ את הבדיקות, ואני יכול להעתיק את המספר הסריאלי שמופיע ולהוסיף אותו ל-Desire Capability, אני מתחיל לבנות בעזרת סט קפביליטי, מובייל קפביליטי טייב דיווייס ניין ואת השם הסריאלי. זה אולי המידע הכי חשוב. המידע הנוסף
שאני ארצה לשלוח לקפביליטי או לאפיום סרבר על מנת להתממשק עם הדיווייז, זה בעצם לציין שאני רוצה לפתוח את החרום במכשיר המובייל שעליו אני רוצה לבצע את הבדיקה.
אני בעצם בטסט הזה עובד עם חרום כשם של משתמש שיכול לעבוד עם חום על המכשיר האנדרואיד שלו, על המכשיר מובייל שלו. צריך לזכור שרוב האתרים היום מותאמים לעבודה גם עם חום שרץ על מחשב רגיל, על PC, על דסטופ, גם על חום שעובד דרך מכשיר נייד, מכשיר מובייל.
אז אני יכול להעתיק את ה-capability, את ה-set capability מלמעלה, אבל במקום device name אני אחפש את העיתוי browser name, ומה שאני אשלח מבחינתי יהיה חום.
אנחנו נדבר בדיוק בשיעורים בהמשך, איך אנחנו יודעים איך לרשום חום, איך אנחנו יודעים בדיוק איזה קפביליטי אנחנו צריכים לבצע על מנת להתממשק בהצלחה עם ה-Devices שעליהם אנחנו רוצים להריץ את הטסטים.