Automated tests 无法使用mocha运行nightwatch.js测试;确保调用了done()回调";
我在web上找到的几乎每一个例子都没有很好地解释mocha应该如何与nightwatchJS一起实现和使用 无论我做什么,我都无法避免那个错误消息,即使我按照 我能做的唯一一件事就是至少打开google chrome浏览器,就是这样 下面是我试图运行的代码Automated tests 无法使用mocha运行nightwatch.js测试;确保调用了done()回调";,automated-tests,mocha.js,ui-automation,nightwatch.js,Automated Tests,Mocha.js,Ui Automation,Nightwatch.js,我在web上找到的几乎每一个例子都没有很好地解释mocha应该如何与nightwatchJS一起实现和使用 无论我做什么,我都无法避免那个错误消息,即使我按照 我能做的唯一一件事就是至少打开google chrome浏览器,就是这样 下面是我试图运行的代码 var nightwatch=require('nightwatch'); 描述('Google',函数(){ var client=nightwatch.initClient({ //从nightwatch.json传递选项 //sele
var nightwatch=require('nightwatch');
描述('Google',函数(){
var client=nightwatch.initClient({
//从nightwatch.json传递选项
//selenium日志;如果希望在控制台中看到它们,请将其更改为true
沉默:错,
所需能力:{
浏览器名称:“chrome”,
javascriptEnabled:true,
acceptSslCerts:对
}
});
var browser=client.api();
//摩卡咖啡超时
这是超时(15000);
它('Demo test Google',函数(完成){
浏览器
.url('http://www.google.com')
.waitForElementVisible('body',1000)
.setValue('input[type=text],'nightwatch')
.waitForElementVisible('button[name=btnG]',1000)
。单击('按钮[name=btnG]')
.暂停(1000)
.assert.containsText(“#main”,“夜间值班”)
.end();
客户端启动(完成);
});
});代码>尝试调用链末尾的done()
回调。我对client.start()
的速度还不是很快,但我很确定您希望在链到达终点时发出测试完成的信号
var nightwatch=require('nightwatch');
描述('Google',函数(){
var client=nightwatch.initClient({
//从nightwatch.json传递选项
//selenium日志;如果希望在控制台中看到它们,请将其更改为true
沉默:错,
所需能力:{
浏览器名称:“chrome”,
javascriptEnabled:true,
acceptSslCerts:对
}
});
var browser=client.api();
//摩卡咖啡超时
这是超时(15000);
它('Demo test Google',函数(完成){
浏览器
.url('http://www.google.com')
.waitForElementVisible('body',1000)
.setValue('input[type=text],'nightwatch')
.waitForElementVisible('button[name=btnG]',1000)
。单击('按钮[name=btnG]')
.暂停(1000)
.assert.containsText(“#main”,“夜间值班”)
.结束(完成);
client.start();
});
});代码>原始问题指出,关于如何使用摩卡设置夜视,没有很好的文档。这个周末,我自己也发现了这种情况,因为我想用摩卡来设置我的夜间值班测试。
通过执行以下操作,我可以在不看到已完成回调错误的情况下设置夜间监视测试:
我使用了nightwatch.conf.js,但我相信您也可以在nightwatch.json中执行以下操作:
module.exports = {
src_folders : ["test"],
test_runner: {
type: 'mocha',
options: {
ui: 'bdd',
reporter: 'spec'
}
},
...
}
{
"name": "nightwatch-mocha",
"directories": {
"test": "test"
},
"scripts": {
"nightwatch": "nightwatch -c ./nightwatch.conf.js"
},
"devDependencies": {
"chromedriver": "^73.0.0",
"mocha": "^6.1.4",
"nightwatch": "^1.0.19"
}
}
简单对吧?
这允许摩卡运行您的夜视测试。
更简单、更友好的语法
以下是我的软件包的相关部分。json:
module.exports = {
src_folders : ["test"],
test_runner: {
type: 'mocha',
options: {
ui: 'bdd',
reporter: 'spec'
}
},
...
}
{
"name": "nightwatch-mocha",
"directories": {
"test": "test"
},
"scripts": {
"nightwatch": "nightwatch -c ./nightwatch.conf.js"
},
"devDependencies": {
"chromedriver": "^73.0.0",
"mocha": "^6.1.4",
"nightwatch": "^1.0.19"
}
}
我安装了chromedriver,因此可以通过chrome运行测试
还安装了摩卡咖啡和夜视
我在脚本对象中创建了一个名为夜视的脚本
当我位于项目根目录下时,当我从命令行运行npm run nightwatch
时,它将使用mocha运行nightwatch
此外,使用nightwatch.json或nightwatch.conf.js可以将该配置排除在测试之外—您不希望在编写新测试套件时必须初始化该配置,因为您可以一次性完成该配置