Selenium没有启动webdriver

时间:2017-06-12 13:50:48

标签: selenium selenium-chromedriver nightwatch.js

版本

"nightwatch": "^0.9.16" 
"chromedriver": "^2.30.1"
"selenium-server-standalone-jar": "^3.4.0"

我正在使用夜间表但是那个sh 我也试过

我使用nightwatchthis repo中运行Selenium并且我尝试使用chrome和firefox驱动程序,但两者都没有运气。

我有selenium standalonechromedriver个套餐,我知道路径就在nightwatch.conf.js上:

const jar = require('selenium-server-standalone-jar')
console.log(jar.path) // logs /home/goldylucks/apps/ci-workshop/node_modules/selenium-server-standalone-jar/jar/selenium-server-standalone-3.4.0.jar
const chromedriver = require('chromedriver')
console.log(chromedriver.path) // logs /home/goldylucks/apps/ci-workshop/node_modules/chromedriver/lib/chromedriver/chromedriver

'selenium': {
  'start_process': true,
  'server_path': jar.path,
  'log_path': '',
  'port': 4444,
  'cli_args': {
    'webdriver.chrome.driver': chromedriver.path,
    'webdriver.ie.driver': '',
  },
},

'test_settings': {
  'chrome': {
    'desiredCapabilities': {
      'browserName': 'chrome',
      'javascriptEnabled': true,
      'acceptSslCerts': true,
    },
  },

然而,当我运行测试时,它会超时并挂起:

$ yarn e2e:ui
yarn e2e:ui v0.24.6
$ nightwatch -e chrome 
Starting selenium server... started - PID:  12936

[App E2e Ui] Test Suite
===========================
 ✖ Timed out while waiting for element <body> to be present for 5000 milliseconds.  - expected "visible" but got: "not found"
    at Object.before (/home/goldylucks/apps/ci-workshop/test/ui/app.e2e-ui.js:9:8)

我尝试了以下组合: 1.使用快速服务器在另一个终端上提供应用程序 2.没有快递服务器 3.上面的每一个用chromedriver手动启动在另一个终端(我真的不认为它应该重要,我应该这样做,只是想彻底......)

手动运行chromedriver会产生以下内容并挂起:

$ node_modules/chromedriver/lib/chromedriver/chromedriver
Starting ChromeDriver 2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5) on port 9515
Only local connections are allowed.

我也尝试过使用firefox并且它没有工作,这让我相信问题比chromedriver更深,即与selenium与nightwatch交互有关。

1 个答案:

答案 0 :(得分:1)

我记得这件事发生了一段时间。我认为这是前一个实例Selenium在关闭时没有关闭 释放端口4444。尝试关闭硒并重新启动。

为此,请在您选择的浏览器中手动打开以下网页。 http://localhost:4444/selenium-server/driver?cmd=shutDownSeleniumServer

然后尝试再次正常运行脚本。