יחסי תלות
ניתן למצוא קבצים בינאריים של ChromeDriver ארוזים כקובצי ZIP של מארחים שונים פלטפורמות בדף ההורדות.
אפליקציות נתמכות
ChromeDriver תומך בהרצת בדיקות בדפדפן Chrome (גרסה 30 ומעלה) אפליקציות מבוססות WebView החל מ-Android 4.4 (KitKat) שהופעלה בהן ניפוי באגים באינטרנט ו-JavaScript. ניתן להתקין את אפליקציית Chrome מ:
יציב: https://play.google.com/store/apps/details?id=com.android.chrome
קישורי שפות של Selenium WebDriver
צריך להתקין את קישורי השפה הרגילים של פרויקט סלניום WebDriver לשפה הרצויה לכתיבת הבדיקות. הספרייה הזו זמינה במנהל החבילות המקומי הידידותי או בפרויקט סלניום (https://www.seleniumhq.org/download/). לדוגמה, את קישורי השפות עבור Python אפשר להתקין באמצעות PIP.
$ pip install selenium
Android SDK
ניתן להוריד את ה-SDK מ: developer.android.com/sdk/
דרישות לגבי מכשירים
החל מגרסה 33 של Chrome, לא נדרש יותר מכשיר עם הרשאות בסיס. אם מתבצעות בדיקות
בגרסאות קודמות של Chrome, המכשירים היו צריכים לעבור תהליך רוט (Root) כ-ChromeDriver
כדי להגדיר את הפקודה של Chrome נדרשת גישת כתיבה לספרייה /data/local
ארגומנטים של שורות.
הפעלת ChromeDriver
מפעילים את שרת Android Debug Bridge (adb) של Android SDK:
$ adb start-server
אם מבצעים בדיקות באפליקציית Chrome לפני גרסה 33, חשוב לוודא שלמעטפת ה-adb יש גישה לקריאה/כתיבה אל הספרייה /data/local במכשיר:
$ adb shell su -c chmod 777 /data/local
בדרך כלל מומלץ להתחיל את 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.
אם לא צוין מספר סידורי, השרת בוחר מכשיר שלא נמצא בשימוש באופן אקראי לשיוך לכל סשן. תוחזר שגיאה אם כל המכשירים יש כבר סשנים פעילים, לכן חשוב להקפיד להפסיק את השימוש בבדיקות הסתיים.
התחברות אל wd/hub
אם הבדיקות צפויות להתחבר אל wd/hub
, אפשר להוסיף --url-base=wd/hub
כשמפעילים את השרת:
$ ./chromedriver --url-base=wd/hub