gpt4 book ai didi

javascript - 如何在 Protractor 中从 browser.wait() 返回 ElementFinder?

转载 作者:行者123 更新时间:2023-11-28 05:09:50 24 4
gpt4 key购买 nike

在我的测试用例中,我尝试实现助手,以在返回某些项目之前检查元素数组。如果数组不包含元素 - 我需要等待(我在应用程序性能方面遇到一些麻烦,有时列表中的元素加载太长并且同步不起作用)。

我的助手中的功能:

getElementFromArray(array, elementIndex) {
return browser.wait(() => {
return array.count((count) => {
return count > elementIndex;
});
}, 10000).then(() => {
return array.get(elementIndex);
}, () => {
console.log("Element in array does not exist.");
return null;
})
}

然后我使用它:

let row = helper.getElementFromArray(rowsCatalog, indexRow);
row.getText();

但我收到错误,因为 browser.wait() 返回 ManagedPromise 而不是 ElementFinder

我真的不想使用辅助函数作为 Promise,因为它会让代码变得非常复杂且不可读(上面的例子 - 最简单的情况)。

最佳答案

不确定这是否适用于您的情况,但您可以在 browser.wait() 之后返回:

getElementFromArray(array, elementIndex) {
browser.wait(() => {
return array.count((count) => {
return count > elementIndex;
});
}, 10000);

return array.get(elementIndex);
}

关于javascript - 如何在 Protractor 中从 browser.wait() 返回 ElementFinder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41462263/

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