我已经创建了一个项目。它是一个 vue.js 应用程序。有一小部分单元测试(开玩笑)和一个端到端测试(守夜)。
当我尝试使用 npm 运行端到端测试时,我得到:
Error retrieving a new session from the selenium server
Connection refused! Is selenium server started?
{ value:
{ message: 'Unable to create session from org.openqa.selenium.remote.NewSessionPayload@16b328bc\nBuild info: version: \'3.12.0\', revision: \'7c6e0b3\', time: \'2018-05-08T15:15:08.936Z\'\nSystem info: host:
\'SYNERGY02\', ip: \'192.168.1.41\', os.name: \'Windows 10\', os.arch: \'amd64\', os.version: \'10.0\', java.version: \'1.8.0_181\'\nDriver info: driver.version: unknown',
error: 'session not created' },
status: 33 }
我不知道我会错过什么。这让我困了一个多星期
这是 nightwatch.json
在 D:\xxx\test\bin\myedgedriver.exe 中找到路径
在 D:\xxx\test\e2e\nightwatch.conf.js 中定位路径
require('babel-register')
var config = require('../../config')
// http://nightwatchjs.org/gettingstarted#settings-file
module.exports = {
src_folders: ['test/e2e/specs'],
output_folder: 'test/e2e/reports',
custom_assertions_path: ['test/e2e/custom-assertions'],
selenium: {
start_process: true,
server_path: require('selenium-server').path,
host: '127.0.0.1',
port: 4444,
cli_args: {
"webdriver.edge.driver": "../bin/MicrosoftWebDriver.exe",
'webdriver.chrome.driver': require('chromedriver').path,
}
},
test_settings: {
default: {
selenium_port: 4444,
selenium_host: 'localhost',
silent: true,
globals: {
devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
}
},
chrome: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true
}
},
firefox: {
desiredCapabilities: {
browserName: 'firefox',
javascriptEnabled: true,
acceptSslCerts: true
}
},
edge: {
desiredCapabilities: {
browserName: 'edge',
javascriptEnabled: true,
acceptSslCerts: true,
nativeEvents: true
}
}
}
}
和我的窗口版本。
1803 (os build 17134.285)
我的 edgewebdriver 版本。
Release 17134
Version: 6.17134 | Edge version supported: 17.17134
我的边缘浏览器版本。
Microsoft Edge 42.17134.1.0
最后是我的 package.json 版本的守夜人。
"nightwatch": "^0.9.12"
"selenium-server": "^3.0.1"