מדריך | בדיקת אפליקציות באמצעות Appium

מה זה Appium

Appium היא תשתית לבדיקות אוטומציה לאפליקציות עבור מכשירי mobile המריצים את מערכות ההפעלה הנפוצות ביותר כיום - Android ו- iOS.

המאמר של היום יעסוק בשימוש ב Appium על אפליקציות אנדרואיד אך ה interface זהה גם ל iOS,
כלומר, ניתן לכתוב תרחיש אחד שיוכל לרוץ על שניהם - אם כי ה setup שונה.

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

מה ניתן לבדוק באמצעות Appium

  1. Native Apps - אפליקציות שנכתבו במיוחד עבור מערכת ההפעלה הספציפית. לדוגמה - אפליקציות Android ב Java.
  2. Hybrid Apps - אפליקציות שנראות רגילות לחלוטין אך מאוכלסות בתוך אפליקציית Native בתצורת WebView.
  3. Mobile Web Apps - אפליקציות Web שהותאמו למכשירים סלולריים.

איך Appium עובד?

רגע לפני שנרים את ה Setup הנדרש לשימוש ב Appium אני רוצה לדבר במשפט על הארכיטקטורה הפשוטה של השימוש בתשתית.


בצורה המופשטת ביותר -
אנחנו כותבים קוד (סקריפט הרצה) בשפת התכנות שבחרנו (C# לצורך הדוגמה),
כאשר נריץ את הקוד תבוצע פניה לשרת Appium שכתובתו תוגדר בסקריפט ההרצה,
השרת יעבד את המידע שהתקבל וישלח פיקודים אל המכשיר בהתאם.

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

הקמת Setup לעבודה עם Appium

לפני שנוכל לכתוב קוד שירוץ ויבצע את הפעולות שאנחנו רוצים, עלינו לבצע מספר פעולות.
  1. הורד את שרת Appium
  2. הורד את Java SDK (שים לב שאתה מוריד את הגרסה המאוחרת ביותר)
  3. הורד את Android SDK
  4. הורד את NodeJS
  5. הגדר משתני סביבה:
        JAVA_HOME - מצביע ל Java SDK folder > bin
        ANDROID_HOME - מצביע ל Android SDK folder
        ב - path, הגדר את הנתיבים הבאים
    %ANDROID_HOME%, %JAVA_HOME%,
    %ANDROID_HOME%\tools, %ANDROID_HOME%\platform/tools\
  6. חבר מכשיר פיזי עם USB Debugging פתוח או לחלופין התקן מכונה וירטואלית של Android
כעת, לאחר שהקמנו את סביבת העבודה שלנו כל מה שנשאר לעשות זה להריץ את שרת Appium ואת המכונה שעליה נריץ את הבדיקות ולהתחיל לכתוב את התרחיש.

כתיבת תרחיש בדיקה באמצעות Appium

תנאי קדם:
מאוד מומלץ לעבור על הנושאים הבאים בבלוג לפני שניגשים לכתיבת התרחיש - אוטומציה באמצעות NUnit, מבוא לSelenium.

ועוד דבר קטן לפני שנתחיל

על מנת לבצע בדיקות אוטומטיות לאפליקציה שלנו, אנחנו צריכים לזהות קודם את שם החבילה שלה (package name) ואת שם הפעילות שלה (activity name).

זאת נעשה באמצעות פקודת adb:
נכנס ל-CMD ונכתוב את הפקודה הבאה -
adb shell dumpsys window windows | grep -E ‘mCurrentFocus|mFocusedApp’

פלט הפקודה יחזיר לנו את ה-package וה activity מופרדים באמצעות '/'.

אז נתחיל..

ראשית נפתח את Visual Studio ונפתח פרוייקט מסוג Class Library שממנו נריץ את NUnit.

לאחר מכן נתקין את חבילות הNuget הבאות: Appium.WebDriver, NUnit, NUnit3TestAdapter.

כעת ניתן לכתוב את תרחיש הבדיקה




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

סיכום

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

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

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

נתראה בפוסט הבא :)

תגובות

  1. adb shell dumpsys window windows | grep -E ‘mCurrentFocus|mFocusedApp’
    אני נתקע עם הדבר הזה
    רוצה להריץ בדיקות על APP איך אני יודע מה לעשות, איך לזהות? תודה

    השבמחק

הוסף רשומת תגובה

פוסטים פופולריים מהבלוג הזה

תכנות מונחה עצמים | Dependency Inversion Principle

מהם קבצי DLL ואיך להשתמש בהם?

מה ההבדל בין אוטומציה לפיתוח רגיל