这是我的nightwatch.json文件中的问题:
"selenium" : {
"start_process" : true,
"server_path" : "lib/selenium-server-standalone.jar",
"log_path" : "test_logs"
},
"test_settings" : {
"jenkins" : {
"launch_url" : "url not disclosed",
"selenium_port" : 4444,
"selenium_host" : "jenkins.undisclosed-cloud.com",
"cli_args" : {
"webdriver.chrome.driver" : "/usr/local/bin/chromedriver"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true,
"platform" : "LINUX"
}
}
}
如果我将browserName更改为firefox,那么测试在指定的linux服务器上运行正常,该服务器在 DOCKER CONTAINER 上运行。
但是当我选择chrome时,我收到错误:
Connection refused! Is selenium server started?
我之前在本地计算机上看到过这个错误,并设法通过在路径中添加chromedriver来修复它。我认为在这个linux服务器上会出现同样的问题,但它没有解决它。我进入了linux盒子并确认我可以直接在
中启动chromedriver"/usr/local/bin/chromedriver"
顺便说一下,我已经验证了我在64位linux机器上的所有设置符号链接。
Linux version: Linux 3.11.0-26-generic | v2.43.1 | r5163bce
运行测试后的错误日志--verbose
INFO Request: POST /wd/hub/session
- data: {"desiredCapabilities": {"browserName":"chrome","javascriptEnabled":true,"acceptSslCerts":true,"platform": "LINUX","name":"Free Resource Download Test"}}
- headers: {"Content-Type":"application/json; charset=utf-8","Content- Length":151}
ERROR Response 500 POST /wd/hub/session{ status: 13,
sessionId: null,
value:
{ message: 'chrome not reachable\n
答案 0 :(得分:1)
因此,这是一个docker容器,Chrome和Docker中存在问题。
你有两个选择,要么运行添加" - 特权"参与Docker或使用" - no-sandbox"运行Chrome参数。