最新的 ChromeDriver 二進位檔已封裝為適用於各種主機平台的 ZIP 檔案。
您可以在「下載」中找到先前版本的 ChromeDriver。
支援的應用程式
ChromeDriver 支援在 Chrome 瀏覽器 (30 以上版本) 上執行測試,以及在 Android 4.4 (KitKat) 以上版本中,針對已啟用網路偵錯和 JavaScript 的 WebView 應用程式執行測試。
你可以透過以下方式安裝 Chrome 應用程式:
穩定版:https://play.google.com/store/apps/details?id=com.android.chrome
Selenium WebDriver 語言繫結
您必須安裝標準 Selenium 專案 WebDriver 語言繫結,才能使用所選語言編寫測試。這個程式庫可在您本機的套件管理工具或 Selenium 專案中使用。
舉例來說,您可以使用 pip 安裝 Python 的語言繫結。
$ pip install selenium
Android SDK
您可以前往 developer.android.com/sdk/ 下載 SDK。
裝置需求
自 Chrome 33 版起,您不需要使用已解鎖的裝置。如果要在舊版 Chrome 上執行測試,裝置必須經過 Root 化,因為 ChromeDriver 需要對 /data/local
目錄具有寫入權限,才能設定 Chrome 的指令列引數。
執行 ChromeDriver
啟動 Android SDK 的 Android Debug Bridge (adb) 伺服器:
$ adb start-server
如果是在 Chrome 33 以下版本測試,請確認 ADB Shell 具有裝置上
/data/local
目錄的讀取和寫入權限:$ adb shell su -c chmod 777 /data/local
建議您透過 Selenium 程式庫啟動 ChromeDriver,但您也可以透過指令列手動啟動。
$ ./chromedriver
僅限 Android 裝置的選項
下列 Chrome 選項適用於 Chrome 和 WebView 應用程式:
androidPackage
:Chrome 或 WebView 應用程式的套件名稱。androidDeviceSerial
:(選用) 要啟動應用程式的裝置序號 (請參閱下方的「多裝置」一節)。androidUseRunningApp
:(選用) 附加至已執行的應用程式,而非啟動具有清除資料目錄的應用程式。
下列功能僅適用於 WebView 應用程式。
- androidActivity:代管 WebView 的活動名稱。
- androidProcess:(選用) 代管 WebView 的活動程序名稱 (由 ps 提供)。如未提供,系統會假設處理程序名稱與
androidPackage
相同。
執行測試
測試應透過 androidPackage
選項,將應用程式的套件名稱傳遞至 ChromeDriver。舉例來說,最簡單的 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