在下面,您可以看到如果客户端是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');
};
答案 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()