ChromeDriver
概述
使用 ChromeDriver 在 Chrome 中运行 Nightwatch.js 测试。
在本指南中,您将了解
- 下载 ChromeDriver
- 支持的 Chrome 功能
- 支持的 Chrome 首选项
- 在 Docker 中使用 Chrome
下载
步骤 1. 下载 ChromeDriver - 从 下载页面 下载适用于您的平台的最新版本的 ChromeDriver。
步骤 2. 配置路径 - 将 ChromeDriver 二进制文件的位置设置为 nightwatch.json
文件中 webdriver
对象下的位置,如下所示
"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"]
}