Protractor 使用browser.wait()重复同步重试相同的操作/作业
我在同步做事情或在量角器中反复尝试相同的动作时遇到了很多困难。我找到了一种似乎不是最好的方法,但仍然有效的方法。 诀窍是利用browser.waitProtractor 使用browser.wait()重复同步重试相同的操作/作业,protractor,Protractor,我在同步做事情或在量角器中反复尝试相同的动作时遇到了很多困难。我找到了一种似乎不是最好的方法,但仍然有效的方法。 诀窍是利用browser.wait 我已针对其中一个场景实施了上述操作,其中计数器在执行某个操作后未立即更新,并希望比较操作前后的计数器值。要获得正确的更新值,需要在UI中更新计数器之前多次刷新浏览器。以下函数重试5次,检查柜台是否在解救前更新 // icount : initial counter value(already fetched) // fcount : final
我已针对其中一个场景实施了上述操作,其中计数器在执行某个操作后未立即更新,并希望比较操作前后的计数器值。要获得正确的更新值,需要在UI中更新计数器之前多次刷新浏览器。以下函数重试5次,检查柜台是否在解救前更新
// icount : initial counter value(already fetched)
// fcount : final counter value
// foo : function used to fetch counter value
// val : Maximum # of retries
this.retryVerification = function(icount,foo,val){
var retry = 0;
browser.wait(function(){
browser.refresh();
browser.sleep(1000);
var fcount = foo();
return fcount.then(function(fcount){
fcount = parseInt(fcount);
retry = retry + 1;
return (fcount == (icount+1) || retry == val);
});
});
};
你试过这样的语言吗
browser.waitForAngular();
您可以参考此API:
是的,我确实用过。但它只是等待角度页面加载。我试图实现的是角度/非角度不可知,即它可以应用于任何地方,而不是专门用于页面加载。我希望后端系统更新UI,因此我会重试多次。希望这是有道理的。