Javascript browser.wait忽略我的参数以等待20秒量角器
我已经编写了这个测试,但是浏览器在查找元素之前不会等待这20秒。它忽略该部分,只等待默认的11秒。我的代码有问题吗Javascript browser.wait忽略我的参数以等待20秒量角器,javascript,protractor,automated-tests,Javascript,Protractor,Automated Tests,我已经编写了这个测试,但是浏览器在查找元素之前不会等待这20秒。它忽略该部分,只等待默认的11秒。我的代码有问题吗 it('should navigate to Home tab', function() { element(by.css('[ui-sref="main.home"]')).click(); var telematicsSection = element(by.id('teleMap')); var EC = protractor.ExpectedCo
it('should navigate to Home tab', function() {
element(by.css('[ui-sref="main.home"]')).click();
var telematicsSection = element(by.id('teleMap'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(telematicsSection), 20000);
});
这是我得到的一个错误
失败:等待异步角度任务在11秒后完成时超时。这可能是因为当前页面不是角度应用程序。有关更多详细信息,请参阅常见问题解答:
等待带有定位器的元素时-locator:By(css选择器,*[id=“teleMap”])
@编辑
我设法把它修好了。Yash Jagdale的代码和
全部预算:20000
在conf.js中,您可以使用下面的方法正确处理异步循环
it('should navigate to Home tab', function(callback) {
element(by.css('[ui-sref="main.home"]')).click().then(function() {
var telematicsSection = element(by.id('teleMap'));
var EC = protractor.ExpectedConditions;
browser.wait(EC.presenceOf(telematicsSection), 20000).then(function() {
callback();
});
});
}, 40000);
添加
browser.ignoreSynchronization=true量角器配置js的onPrepare
onPrepare: function() {
browser.ignoreSynchronization = true;
在您的配置文件中,您为allScriptsTimeout
设置了什么值?您是否阅读了给定的链接?正如Gunderson指出的,您的超时声明可能存在问题。你能给我们看一下你的conf.js代码吗?在其他情况下不忽略同步不是很有用吗。ignoreSynchronization将影响我的所有测试。不幸的是,conf.js中的相同resultallScriptsTimeout:20000和您的代码解决了这个问题