我是量角器和JavaScript的新手,正在努力将定界字符串与数组进行比较。
我想做的是找到所有元素的列表,然后从每个元素中循环遍历数组,以将文本值与定界字符串进行比较,但是定界字符串的值是“ undefined”
element.all(by.css('.itemField')).then(function (allFieldItems) {
var toCompare= ["AGO", "9"]
for (var i = 0; i < toCompare.length; i++) {
var valueToCompare = toCompare[i]
allFieldItems[i].getText().then(function (text) {
if(text != valueToCompare[i]){
console.log("Values don't match")
}
}.bind( i))
}
})
问题是,“ if(text!= valueToCompare [i])”行始终是“未定义”的,我正在寻求有关如何在不使用Expect语句的情况下解决此问题的帮助。
最佳答案
您可以直接在getText()
的结果上调用element.all()
:
var toCompare = ["AGO", "9"];
element.all(by.css('.itemField')).getText().then(function (texts) {
for (var i = 0; i < toCompare.length; i++) {
if (texts[i] != toCompare[i]) {
console.log("Values don't match");
}
}
});
或者,您甚至可能期望这样(不确定这是否是您实际上要尝试执行的操作):
expect($$('.itemField').getText()).toEqual(toCompare);