gpt4 book ai didi

javascript - Protractor - 循环遍历不同的定位器以填充数组

转载 作者:行者123 更新时间:2023-11-30 15:20:32 25 4
gpt4 key购买 nike

我正在使用 Protractor ,我想遍历一系列定位器(所有名称都不同)以获取显示的文本,然后将其与预期值数组进行比较。

我遇到过如下示例:

var expected = ['expect1', 'expect2', 'expect3'];
var els = element.all(by.css('selector'));
for (var i = 0; i < expected.length; ++i) {
expect(els.get(i).getText()).toEqual(expected[i]);
}

您可以在其中与定位器子项进行比较,但不能与不同的定位器进行比较。

您将如何调整类似上面的内容来循环遍历定位器列表(如下所示),然后将其与另一个数组中的一系列值进行比较。

const locators = {
emp: by.id('employmentError'),
occ: by.id('occupationError'),
stat: by.id('statError'),
show: by.id('showError')
};

比较部分似乎更容易,它正在填充初始数组,其中充满了来自各种定位器的文本,我无法理解。

最佳答案

看起来您正在尝试收集对应于不同类型错误的元素。如果您使用统一定位器获取所有这些信息会怎么样,例如:

var errors = $$("[id$=Error]");
expect(errors.getText()).toEqual([
"Employment Error happened",
"Some other error"
]);

此处 errors 将定位具有以“Error”结尾的 id 属性的元素。

关于javascript - Protractor - 循环遍历不同的定位器以填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43804872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com