יחסי תלות
ניתן למצוא את הקבצים הבינאריים של ChromeDriver בחבילה כקובצי zip לפלטפורמות מארחות שונות בדף Downloads (הורדות).
אפליקציות נתמכות
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 חייב גישת כתיבה לספרייה /data/local
כדי להגדיר ארגומנטים של שורת הפקודה של Chrome.
הפעלת ChromeDrive
מפעילים את שרת 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