有没有人知道我可以自动重新运行Nightwatch测试的次数?
我有以下代码:
.end()
而不是.rerun()
测试我想{{1}}测试说30次。我无法在文档中的任何位置看到这样做的选项。
非常感谢提前。
答案 0 :(得分:2)
您需要的是一些异步迭代逻辑和client.perform()
函数:
module.exports = {
'Log into system - create order': function (client) {
var currentIteration = 0,
iterationCount = 30;
function runTest() {
client
.url('XXXX')
// ... YOUR CODE HERE, WITHOUT .end()
.perform(function() {
if (++currentIteration < iterationCount) {
return runTest();
}
client.end(); // After passing 30 iterations end the session
});
}
runTest();
}
};
答案 1 :(得分:1)
您可以将命令包装在client.perform()
和for循环
client.perform(function(){
for (i = 0; i < 29; i++) {
client
.url('XXXX')
.
.
.
.end();
}
})
答案 2 :(得分:0)
如果要重复他用不同的输入进行测试?那么你可以做这样的事情
module.exports = {
"Login Fail Cases": function(browser) {
let dataSet = [
{ username: "madhus", pass: "madhus" },
{ username: "admin", pass: "admin" }
];
//will run for 2 times as length of dataset is 2
dataSet.forEach(function(data) {
browser
.url("https://localhost:3000/")
// you tests here
}, this);
// note: end the test outside the loop once all tests are executed
browser.end();
}
};