קובצי ה-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
מפעילים את השרת של Android Debug Bridge (adb) של Android SDK:
$ adb start-server
אם בודקים באפליקציית Chrome בגרסה 33 ואילך, צריך לוודא ש-adb shell יש לו הרשאת קריאה וכתיבה לספרייה
/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.
אם לא מציינים את המספר הסידורי, השרת בוחר באופן אקראי מכשיר שלא בשימוש כדי לשייך אותו לכל סשן. אם כבר יש סשנים פעילים בכל המכשירים, תוחזר שגיאה. לכן, חשוב להקפיד לקרוא ל-quit בסיום הבדיקות.
התחברות אל wd/hub
אם הבדיקות אמורות להתחבר אל wd/hub
, אפשר להוסיף את --url-base=wd/hub
כשמפעילים את השרת:
$ ./chromedriver --url-base=wd/hub