Android

קובצי ה-binaries העדכניים ביותר של ChromeDriver ארוזים כקובצי zip לפלטפורמות מארח שונות.

גרסאות קודמות של ChromeDriver זמינות בקטע הורדות.

אפליקציות נתמכות

‏ChromeDriver תומך בהרצת בדיקות בדפדפן Chrome (גרסה 30 ואילך) ובאפליקציות מבוססות-WebView, החל מגרסה Android 4.4 (KitKat), שמופעלת בהן ניפוי באגים באינטרנט ו-JavaScript.

אתם יכולים להתקין את אפליקציית Chrome מהמקומות הבאים:

גרסה יציבה: https://play.google.com/store/apps/details?id=com.android.chrome

קישורי שפות של Selenium WebDriver

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

לדוגמה, אפשר להתקין את קישורי השפה ל-Python באמצעות pip.

$ pip install selenium

Android SDK

אפשר להוריד את ה-SDK מ-developer.android.com/sdk/.

דרישות לגבי מכשירים

החל מגרסה 33 של Chrome, אין צורך במכשיר עם הרשאת root. אם מריצים בדיקות בגרסאות קודמות של Chrome, צריך להעניק למכשירים הרשאת root כי ל-ChromeDriver נדרשת הרשאת כתיבה לספרייה /data/local כדי להגדיר את הארגומנטים של שורת הפקודה של Chrome.

הפעלת ChromeDriver

  1. מפעילים את השרת של Android Debug Bridge‏ (adb) של Android SDK:

    $ adb start-server
    
  2. אם בודקים באפליקציית Chrome בגרסה 33 ואילך, צריך לוודא ש-adb shell יש לו הרשאת קריאה וכתיבה לספרייה /data/local במכשיר:

    $ adb shell su -c chmod 777 /data/local
    
  3. מומלץ להפעיל את ChromeDriver דרך ספריית Selenium, אבל אפשר גם להפעיל אותו ידנית משורת הפקודה.

    $ ./chromedriver
    

אפשרויות ל-Android בלבד

האפשרויות הבאות ב-Chrome רלוונטיות גם לאפליקציות Chrome וגם לאפליקציות WebView:

  • androidPackage: שם החבילה של אפליקציית Chrome או WebView.
  • androidDeviceSerial: (אופציונלי) המספר הסידורי של המכשיר שבו רוצים להפעיל את האפליקציה (ראו הקטע 'מכשירים מרובים' בהמשך).
  • androidUseRunningApp: (אופציונלי) הצמדה לאפליקציה שכבר פועלת במקום הפעלת האפליקציה עם ספריית נתונים ריקה.

היכולות הבאות רלוונטיות רק לאפליקציות WebView.

  • androidActivity: השם של הפעילות שמארחת את רכיב ה-WebView.
  • androidProcess: (אופציונלי) שם התהליך של הפעילות שמארחת את WebView (כפי שצוין על ידי ps). אם לא מציינים שם, ההנחה היא ששם התהליך זהה לשם androidPackage.

מבצעים בדיקה

הבדיקות צריכות להעביר את שם החבילה של האפליקציה ל-ChromeDriver באמצעות האפשרות androidPackage. לדוגמה, בדיקה מינימלית ב-Python נראית כך:

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
driver = webdriver.Chrome('./chromedriver', options=options)
driver.get('https://google.com')
driver.quit()

מכשירים מרובים

כדי להשתמש במכשיר מסוים לסשן, מציינים את הערך androidDeviceSerial כאפשרות ב-Chrome.

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

התחברות אל wd/hub

אם הבדיקות אמורות להתחבר אל wd/hub, אפשר להוסיף את --url-base=wd/hub כשמפעילים את השרת:

$ ./chromedriver --url-base=wd/hub