无法使用Linux在chrome上执行nightwatch测试

时间:2015-04-09 13:46:14

标签: linux selenium webdriver selenium-chromedriver nightwatch.js

这是我的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 

1 个答案:

答案 0 :(得分:1)

因此,这是一个docker容器,Chrome和Docker中存在问题。

你有两个选择,要么运行添加" - 特权"参与Docker或使用" - no-sandbox"运行Chrome参数。