我在同步操作中遇到了很多困难,或者在量角器中一次又一次地重复同样的操作。我有一种方式似乎不是最好的方式,但仍然有效。
诀窍是利用browser.wait()
。
我已经实现了以下方案之一,其中计数器在执行某个操作后没有立即更新,并希望在操作之前和之后比较计数器值。要获得正确的更新值,需要多次刷新浏览器计数器在UI中更新。
答案 0 :(得分:0)
以下功能重试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);
});
});
};
答案 1 :(得分:0)