ChromeDriver
概述
使用 ChromeDriver 在 Chrome 中執行 Nightwatch.js 測試。
在本指南中,您將了解
- 下載 ChromeDriver
- 支援的 Chrome 功能
- 支援的 Chrome 偏好設定
- 在 Docker 中使用 Chrome
下載
步驟 1. 下載 ChromeDriver - 從 下載頁面下載適用於您平台的最新版 ChromeDriver。
步驟 2. 設定路徑 - 在您的 nightwatch.json
檔案中,於 webdriver
物件下設定 ChromeDriver 二進位檔的位置,如下所示
"webdriver" : {
"server_path" : "/path/to/chromedriver"
}
支援的 Chrome 功能
下表列出所有 Chrome 專用的所需功能,這些功能都位於 ChromeOptions 字典下。
名稱 | 類型 | 說明 |
---|---|---|
args |
字串陣列 | 啟動 Chrome 時要使用的命令列引數清單。具有關聯值的引數應以 '=' 符號分隔(例如,["start-maximized", "user-data-dir=/tmp/temp_profile"] )。 |
binary |
字串 | 要使用的 Chrome 可執行檔的路徑(在 Mac OS X 上,這應該是實際的二進位檔,而不僅僅是應用程式。例如,'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome') |
extensions |
字串陣列 | 要在啟動時安裝的 Chrome 擴充功能清單。清單中的每個項目都應該是經過 base-64 編碼的已封裝 Chrome 擴充功能 (.crx) |
Nightwatch 支援 ChromeDriver 提供的所有引數和功能。
請參閱 官方 ChromeDriver 文件,以了解有關這些功能的更多資訊。
您可以參考此命令列開關清單,您可以將這些開關作為 args
傳遞至 nightwatch.json
檔案中 desiredCapabilities
索引鍵下的 chromeOptions
索引鍵,如下所示
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true,
"chromeOptions" : {
"args" : ["start-fullscreen"]
}
}
支援的使用者偏好設定
除了使用 args
索引鍵設定的命令列開關之外,您還可以透過 prefs
索引鍵傳遞 Chrome 設定檔偏好設定。
以下程式碼片段顯示如何在 nightwatch.json
檔案中設定偏好設定(如果您想要停用瀏覽器的密碼管理員功能)
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true,
"chromeOptions" : {
"prefs" : {
"credentials_enable_service" : false,
"profile.password_manager_enabled" : false
}
}
}
使用在 Docker 容器中執行的 Chrome
如果您的測試需要一個在 Docker 容器內執行的 Chrome 執行個體,請務必將 --no-sandbox
值新增至 args
物件,才能從 Docker 容器存取 Chrome 二進位檔。
"chromeOptions" : {
"args" : ["--no-sandbox"]
}