所以我在 stack here 上看到了一个类似的问题,但它没有被接受的答案,也没有为我提供我需要的信息。
我正在尝试使用“chromedriver”,因为“selenium-webdriver”需要 FF 版本 <= 28。
到目前为止我所做的。
npm install chromedriver -g
) 和 npm install chromedriver
下载到我的 nightwatch 项目目录 nightwatch/bin/nightwatch.json
并编辑了以下代码 "selenium" : {
"start_process" : false,
"server_path" : "",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "/usr/local/bin/chromedriver", <= added this - is this the binary?
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : ""
}},
还尝试更新 selenium 的设置,使其具有 start_process=true 和 server_path
"selenium" : {
"start_process" : true,
"server_path" : "../selenium-server-standalone-2.39.0.jar",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "/usr/local/bin/chromedriver",
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : ""
}
},
不确定我是否指向正确的 chromedriver 文件/文件夹
还编辑了测试设置
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_host" : "127.0.0.1",
"selenium_port" : 4444,
"silent" : true,
"disable_colors": false,
"screenshots" : {
"enabled" : false,
"path" : ""
},
"desiredCapabilities" : {
"browserName" : "chrome", <= changed this from ff to chrome
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
},
如果我去运行测试(没有
-e <browser>
)例如nightwatch -g <group>
,它在 FF 中启动良好并运行..如果我尝试指定 chrome 浏览器 (
-e chrome
) nightwatch -g <group> -e chrome
我会收到以下错误ERROR There was an error while starting the test runner:
Error: Invalid testing environment specified: chrome
at Object.CliRunner.parseTestSettings (/usr/local/lib/node_modules/nightwatch/lib/runner/cli/clirunner.js:354:15)
at Object.CliRunner.init (/usr/local/lib/node_modules/nightwatch/lib/runner/cli/clirunner.js:31:8)
at module.exports.runner.runner (/usr/local/lib/node_modules/nightwatch/lib/index.js:512:19)
at /usr/local/lib/node_modules/nightwatch/bin/runner.js:9:16
at module.exports.cli.cli (/usr/local/lib/node_modules/nightwatch/lib/index.js:504:7)
at Object.<anonymous> (/usr/local/lib/node_modules/nightwatch/bin/runner.js:8:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
我的问题是:
提前致谢
最佳答案
首先你说
I am trying to use 'chromedriver' because 'selenium-webdriver' requires a FF version <= 28.
因为你用的是 selenium-server-standalone-2.39.0.jar (旧 jar) 请从这里下载新的 selenium-server-standalone-2.45.0.jar
第二次从这里下载 chrome 驱动程序 Chromedriver基于您的环境
第三次使用以下代码更新您的 nightwatch.json
{
"src_folders": [
"tests"
],
"selenium": {
"start_process": false,
"server_path": "bin/selenium-server-standalone-2.45.0.jar",
"log_path": "",
"host": "127.0.0.1",
"port": 4444,
"cli_args": {
"webdriver.chrome.driver": "bin/chromedriver",
"webdriver.ie.driver": ""
}
},
"test_settings": {
"default": {
"launch_url": "http://127.0.0.1/",
"selenium_port": 4444,
"selenium_host": "localhost",
"silent": true,
"screenshots": {
"enabled": false,
"path": ""
},
"desiredCapabilities": {
"browserName": "firefox",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"chrome": {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}第四次使用 nightwatch -g -e chrome 运行你的小组
希望它能解决你的问题。
关于selenium-chromedriver - Nightwatch - 使用 chromedriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30401135/