【发布时间】:2019-05-08 23:57:47
【问题描述】:
作为我的 nightwatch.js 测试的一部分,我有以下代码将列出一个元素的所有值(在本例中为英国城镇列表);
"Page 2 Location SEO Crawl paths are displayed": function (browser) {
browser.elements('xpath', '//a[contains(@href,"location")]', function (results) {
results.value.map(function(element) {
browser.elementIdAttribute(element.ELEMENT, 'innerText', function(res) {
var resme = res.value;
console.log(resme)
});
});
});
},
这样正确地列出了所有的元素值;
我现在想做的是检查结果中是否列出了 Nottingham,如果不是,则失败测试。
我安装了 assert npm 包以查看是否有帮助,这将我的代码更改为;
"Page 2 Location SEO Crawl paths are displayed": function (browser) {
browser.elements('xpath', '//a[contains(@href,"location")]', function (results) {
results.value.map(function(element) {
browser.elementIdAttribute(element.ELEMENT, 'innerText', function(res) {
var resme = res.value;
console.log(resme);
if (resme.includes("Nottingham")) {
assert.ok(true);
}
else {
assert.ok(false);
}
});
});
});
},
但这不起作用,因为我不断收到以下错误;
使用 assert 包是最好的测试方法,或者有更直接的方法来断言 Nottingham 包含在此列表中,并且测试 失败如果不是。
我尝试过使用resme.includes("Nottingham"),但这并没有通过测试。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: assert nightwatch.js