版本
"nightwatch": "^0.9.16"
"chromedriver": "^2.30.1"
"selenium-server-standalone-jar": "^3.4.0"
我正在使用夜间表但是那个sh 我也试过
我使用nightwatch在this repo中运行Selenium并且我尝试使用chrome和firefox驱动程序,但两者都没有运气。
我有selenium standalone和chromedriver个套餐,我知道路径就在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交互有关。
答案 0 :(得分:1)
我记得这件事发生了一段时间。我认为这是前一个实例Selenium在关闭时没有关闭 释放端口4444。尝试关闭硒并重新启动。
为此,请在您选择的浏览器中手动打开以下网页。 http://localhost:4444/selenium-server/driver?cmd=shutDownSeleniumServer
然后尝试再次正常运行脚本。