量角器浏览器.Wait会导致角超时
Protractor browser.wait causes angular timeout
我有这样的代码
browser.sleep(5000).then(function() {console.log('rotel:' + browser.rootEl)});
browser.ignoreSynchronization = true;
browser.rootEl = 'div#overview';
browser.driver.switchTo().defaultContent().then(function() {console.log('Switch default')});
browser.sleep(500);
browser.wait(function() { return browser.isElementPresent(by.css('[class="box-header"]'))}, 10000);
element(by.model("ssn")).sendKeys(pat + "'n").then(function() {console.log('sendkeys')});
browser.rootEl = 'body';
如果我删除一行浏览器等待测试继续,否则我得到
'等待量角器与页面同步时出错:'根元素(主体)没有注入器。这可能意味着它不在ng-app中。"
怎么能等待,它不使用任何角度的东西,不工作时的"by"。"模型"行吗?
而且我几乎可以肯定今天早上出去办事之前它是有效的。
如果你正在测试的页面是有角的,那么你应该在你的代码中设置ignoreSynchronization
为false
- browser.ignoreSynchronization = false;
。
也要确保你有ng-app
属性在你的html正文标签没有量角器不知道如果它是一个有角或无角的页面。如果你的ng-app
标签在body标签的后代元素上,那么在你的conf.js文件中使用rootElement
属性来指示量角器从该标签开始检查角度。-
rootElement: 'body/div', //if ng-app tag is on a div element under body
isElementPresent()
返回的承诺也没有在browser.wait()
函数中解决。wait()
函数总是等待返回一个布尔值,直到超时值过期,如果它没有返回任何东西,则抛出一个错误。另外,isElementPresent()
根据元素的存在返回一个布尔值。以下是如何使用它-
browser.wait(function() {
return browser.isElementPresent(by.css('[class="box-header"]')).then(function(present){
return present;
});
}, 10000);
如果您只是想通过使用protractor拥有的ExpectedConditions
对象来检查元素是否存在于DOM上,还有另一种简单的方法。下面是一些使用它的例子——
var EC = protractor.ExpectedConditions;
var element = element(by.css('[class="box-header"]'));
browser.wait(EC.visibilityOf(element), 10000); //Checks if element is present and enabled on DOM
browser.wait(EC.presenceOf(element), 10000); //Checks if element is present on DOM
browser.wait(EC.elementToBeClickable(element), 10000); //Use it if you want to wait for element to be clickable Checks if element is present and enabled on DOM
希望能有所帮助。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 当浏览器控制台未打开时,为什么要求会导致Internet Explorer 9超时
- 如何在javascript中设置浏览器关闭时的会话超时
- javascript浏览器超时第二个计时器
- set超时在“while”内会导致浏览器崩溃.我怎样才能避免它
- 节点.js服务器在浏览器中超时,但 cURL 请求有效
- 在浏览器空闲后保持设置超时函数运行
- 节点.js浏览器响应:连接超时
- 量角器在忽略同步期间等待,浏览器隐式超时与浏览器.等待超时
- 如何防止浏览器超时(长PHP脚本)
- 浏览器关闭时设置超时
- 量角器浏览器.Wait会导致角超时
- 浏览器轮询到1秒任何超时<1秒
- 移动浏览器的Javascript/PHP页面超时
- 如何设置浏览器创建的桌面通知的关闭超时时间?
- 在浏览器关闭或会话超时之前调用函数的可靠方法
- 浏览器超时
- 如何在浏览器中设置MochaJS全局超时
- 网关超时和浏览器渲染