Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Protractor 使用browser.wait()重复同步重试相同的操作/作业_Protractor - Fatal编程技术网

Protractor 使用browser.wait()重复同步重试相同的操作/作业

Protractor 使用browser.wait()重复同步重试相同的操作/作业,protractor,Protractor,我在同步做事情或在量角器中反复尝试相同的动作时遇到了很多困难。我找到了一种似乎不是最好的方法,但仍然有效的方法。 诀窍是利用browser.wait 我已针对其中一个场景实施了上述操作,其中计数器在执行某个操作后未立即更新,并希望比较操作前后的计数器值。要获得正确的更新值,需要在UI中更新计数器之前多次刷新浏览器。以下函数重试5次,检查柜台是否在解救前更新 // icount : initial counter value(already fetched) // fcount : final

我在同步做事情或在量角器中反复尝试相同的动作时遇到了很多困难。我找到了一种似乎不是最好的方法,但仍然有效的方法。 诀窍是利用browser.wait


我已针对其中一个场景实施了上述操作,其中计数器在执行某个操作后未立即更新,并希望比较操作前后的计数器值。要获得正确的更新值,需要在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,因此我会重试多次。希望这是有道理的。