我开始使用Nighwatch进行网络测试,并尝试使用Chrome。
但是,当我开始测试时,它会立即崩溃并出现以下错误:
17:56:35.218 INFO - Executing: [new session: Capabilities [{acceptSslCerts=true, name=Sandbox, browserName=chrome, javascriptEnabled=true, platform=ANY}]])
17:56:35.219 INFO - Creating a new session for Capabilities [{acceptSslCerts=true, name=Sandbox, browserName=chrome, javascriptEnabled=true, platform=ANY}]
/Users/murdockcrc/repos/nightwatch/bin/chromedriver: /Users/murdockcrc/repos/nightwatch/bin/chromedriver: cannot execute binary file
我使用以下命令运行测试:
./bin/nightwatch --test hdv/tests/sandbox.js --config ./nightwatch.json
就我而言,这里的所有路径都是准确的,并指向正确的文件。
以下是我的夜班配置文件:
{
"src_folders" : ["./hdv/tests"],
"output_folder" : "./hdv/reports",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"globals_path" : "",
"live_output" : true,
"parallel_process_delay" : 10,
"disable_colors": false,
"test_workers" : false,
"selenium" : {
"start_process" : false,
"server_path" : "",
"log_path" : "",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "./bin/chromedriver",
"webdriver.ie.driver" : "",
"webdriver.firefox.profile" : ""
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost:3000",
"selenium_host" : "127.0.0.1",
"selenium_port" : 4444,
"silent" : true,
"disable_colors": false,
"screenshots" : {
"enabled" : false,
"path" : ""
},
"desiredCapabilities" : {
"browserName" : "chrome",
"javascriptEnabled" : true,
"acceptSslCerts" : true
}
}
}
}
最后,这是我试图运行的测试(正如你所看到的,只是一个占位符,看看它是否一直运行):
module.exports = {
'Demo test Google' : function (browser) {
browser
.url('http://www.google.com')
.waitForElementVisible('body', 1000)
.setValue('input[type=text]', 'nightwatch')
.waitForElementVisible('button[name=btnG]', 1000)
.click('button[name=btnG]')
.pause(1000)
.assert.containsText('#main', 'Night Watch')
.end();
}
};
运行相同的测试,但使用firefox(通过更改nightwatch.json文件)确实可以正常运行。
如果您对此配置有什么问题并在Chrome上运行,我将不胜感激。
答案 0 :(得分:2)
作为一个完整性检查,您是否尝试过自己运行chromedriver(即运行“./bin/chromedriver”)?你应该得到一些看起来像
的输出在端口9515上启动ChromeDriver(v2.9.248307)
您还应确保为您的机器配备了适当版本的chromedriver。查看ChromeDriver downloads页面。