我有以下的守夜人测试:
module.exports = {
'Set Initial Dataset' : function (browser) {
browser
.url('http://localhost/nightwatch/load-initial-dataset')
.end()
}
}
当我执行它时,浏览器被打开并且加载了URL,但是当加载结束时它不会关闭浏览器以开始下一个测试.
测试工作1个月前…我更新了夜视仪到nigthwatch最新版本(v0.9.8),下载了selenium-server-standalone-3.0.1.jar,chromedriver 2.25和Chrome 54.0.2840.87
我的Nigthwatch.js是
module.exports = {
src_folders: ['./tests'],
output_folder: './results',
selenium: {
start_process: true,
server_path: './selenium-server-standalone-3.0.1.jar',
log_path: './results',
host: '127.0.0.1',
port: 4444,
"cli_args" : {
"webdriver.chrome.driver" : "./osx/chromedriver"
}
},
test_settings: {
default: {
waitForConditionPollInterval: 1,
selenium_host: '127.0.0.1',
selenium_port: 4444,
screenshots: {
enabled: true,
path: './results/screenshots'
},
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true
}
}
}
};
我尝试启动此测试,我遇到了同样的问题:https://github.com/nightwatchjs/nightwatch/blob/master/examples/tests/google.js(浏览器在网址上保持打开状态,终端没有任何内容)
当我使用safari进行测试时,我没有特别的问题.
谢谢
最佳答案 从第一眼看,你的测试看起来并没有真正执行任何断言,因此实际上并没有“测试”任何东西.这可能会使测试运行员感到困惑.
我的另一个理论是waitForConditionPollInterval设置太低了. 1毫秒似乎有点矫枉过正.
这里有两件事要做:
>在测试中执行实际断言.例如,导航到页面后试试这个……
例:
module.exports = {
'Set Initial Dataset' : function (browser) {
browser
.url('http://localhost/nightwatch/load-initial-dataset')
.assert.title('Some Title')
.end()
}
}
>删除waitForConditionPollInterval设置,看看是否有帮助.如果确实如此,请尝试将其设置为更加理智,例如100毫秒,并检查测试是否仍然挂起.