如何在 nightwatch.js 中使用循环
How to use loop in nightwatch.js
pageObject中有函数
this.openFilmPage = function() {
browser.waitForElementVisible("div[class='pg'", 1000);
for (var i = 0; i < 4; i += 1) {
console.log('Итерация № ' + i);
browser.waitForElementVisible("div[class='app'] > div[class='pg'] > div[class='home carousel'] > div[class='home-lst carousel-lst'] > div[class*='home-lst-itm nav-itm']:nth-of-type(" + i + ") > div[class='badge badge-currency']", 100, function(result) {
if (result.value) {
return browser;
console.log('Платный фильм обнаружен');
} else {
return browser;
console.log('Платный фильм отсутствует');
}
});
}
return browser;
}
测试中有挑战
'TC67 Переход на страницу платного фильма': function(browser) {
browser
.page.App().open()
.page.App().openFilmPage()
.end();
}
开始后我在控制台中得到下一个结果
Running: TC67 Переход на страницу платного фильма
Итерация № 0
Итерация № 1
Итерация № 2
Итерация № 3
然后是检查,一旦一个零位置,测试失败,因为在这个位置不是预期的item。
我希望所有测试都将逐一执行,结果我得到一个与指定的 css 路径匹配的元素。
但经验表明情况并非如此,在异步模式下循环出现 运行,因为它可以克服吗?
PS。对不起我的英语。
您似乎在尝试创建自定义命令。查看此部分:
http://nightwatchjs.org/guide#writing-custom-commands
您会注意到您需要创建的文件的名称应该是实际的方法名称(所以在您的情况下:openFilmPage.js)
最后;您需要将 nightwatch.json 中的路径添加到自定义命令所在的文件夹 (http://nightwatchjs.org/guide#basic-settings)
希望对您有所帮助!
pageObject中有函数
this.openFilmPage = function() {
browser.waitForElementVisible("div[class='pg'", 1000);
for (var i = 0; i < 4; i += 1) {
console.log('Итерация № ' + i);
browser.waitForElementVisible("div[class='app'] > div[class='pg'] > div[class='home carousel'] > div[class='home-lst carousel-lst'] > div[class*='home-lst-itm nav-itm']:nth-of-type(" + i + ") > div[class='badge badge-currency']", 100, function(result) {
if (result.value) {
return browser;
console.log('Платный фильм обнаружен');
} else {
return browser;
console.log('Платный фильм отсутствует');
}
});
}
return browser;
}
测试中有挑战
'TC67 Переход на страницу платного фильма': function(browser) {
browser
.page.App().open()
.page.App().openFilmPage()
.end();
}
开始后我在控制台中得到下一个结果
Running: TC67 Переход на страницу платного фильма Итерация № 0 Итерация № 1 Итерация № 2 Итерация № 3
然后是检查,一旦一个零位置,测试失败,因为在这个位置不是预期的item。
我希望所有测试都将逐一执行,结果我得到一个与指定的 css 路径匹配的元素。
但经验表明情况并非如此,在异步模式下循环出现 运行,因为它可以克服吗?
PS。对不起我的英语。
您似乎在尝试创建自定义命令。查看此部分:
http://nightwatchjs.org/guide#writing-custom-commands
您会注意到您需要创建的文件的名称应该是实际的方法名称(所以在您的情况下:openFilmPage.js)
最后;您需要将 nightwatch.json 中的路径添加到自定义命令所在的文件夹 (http://nightwatchjs.org/guide#basic-settings)
希望对您有所帮助!