gpt4 book ai didi

promise - 如果条件永远不成立,Protractor browser.wait 会返回什么?

转载 作者:行者123 更新时间:2023-12-04 13:31:44 26 4
gpt4 key购买 nike

我想使用 browser.wait 函数反复检查按钮元素是否存在一段时间,然后使用相关回调。下面我有不使用等待的代码。

detailsButton.isPresent()
.then(function(present){
if(!present) {
callback();
} else {
callback(new Error('The details button was not present.'));
}
});

我需要一些修复此代码的帮助,因为我不确定等待函数如何处理故障/超时。本质上,我是在问下面代码的“.then”部分中应该包含哪些内容,而不像我目前所拥有的那样笨拙。
browser.driver.wait(function(){
return pgTransactionHistory.transactionHistoryDetails.isPresent();
}, 60000).then(function(){
pgTransactionHistory.transactionHistoryDetails.isPresent()
.then(function(present){
if(!present) {
callback();
} else {
callback(new Error('The details button was not present.'));
}
});
});

谢谢!

最佳答案

有两种方法可以做到这一点:
首先,您可以将 browser.wait 的第三个参数用于将作为错误消息发送的字符串。像这样:

browser.driver.wait(function(){
return //condition
}, timeout, 'Error message string')
.then(function(){
callback();
});

或者其次使用 .then 的第二个参数,如下所示:
browser.driver.wait(function(){
return //condition
}, timeout)
.then(function(){
callback();
}, function(){
//code to want to execute on failure.
});

关于promise - 如果条件永远不成立,Protractor browser.wait 会返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895515/

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