量角器browser.sleep()没有被执行

时间:2016-07-01 19:36:28

标签: protractor

在下面,您可以看到如果客户端是XYZ,则应该执行browser.sleep,但仍然没有执行。

如果我在browser.sleep语句之后放入任何console.log,那么该语句正在执行(我可以看到该语句)但是browser.sleep并没有真正等待,即使我增加了多少睡眠时间。

为什么browser.sleep不起作用?如果客户端XYZ,我如何让它等待?

           if (testproperties.client == 'ABC'){
                browser.ignoreSynchronization = false;
                browser.waitForAngular();
                browser.ignoreSynchronization = true;    
            }
            else if (testproperties.client == 'XYZ'){
                browser.sleep('35000');
            };

5 个答案:

答案 0 :(得分:10)

您是否将int类型作为参数传递?好像它是字符串。尝试

browser.sleep(35000)

还要检查为什么你需要这么大的浏览器睡眠?也许你想要browser.wait()代替?

答案 1 :(得分:1)

尝试以下答案。

if (testproperties.client == 'ABC'){
    browser.ignoreSynchronization = false;
    browser.driver.sleep(2000);
    browser.ignoreSynchronization = true;    
}
else if (testproperties.client == 'XYZ'){
    browser.driver.sleep(2000);
};

希望这会有所帮助。 :)

答案 2 :(得分:0)

尝试解决这个承诺。

browser.sleep(35000).then(
  function(){
     console.log("Waiting");
  }
)

或将量角器更新到最新版本

npm install protractor@latest --save

答案 3 :(得分:0)

浏览器前面等待,并将参数传递到睡眠状态(时间以毫秒为单位)。

await browser.sleep(5000);

答案 4 :(得分:0)

请尝试以下代码示例。

//For none angular sites
 browser.driver.ignoreSynchronization = true;
browser.waitForAngularEnabled(false);

//browser.get('url');
//If normal browser.sleep(7000); didnt work try
browser.driver.sleep(8000);
//click using ID instead of Javasctipt
 element(by.id('next')).click()