等待Protractor与页面同步时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了等待Protractor与页面同步时出错相关的知识,希望对你有一定的参考价值。

我在Protractor中测试时遇到问题。

我需要这样的东西:

'找到iframe,点击它,然后将值设置为ng-model。

所以我的代码看起来像:

browser.switchTo().frame(element(by.model('myModel')).getWebElement());
browser.findElement(by.className('testClass')).click();

var elm = element(by.model("myModel"));
elm.evaluate("fields.myModel = 'test';");

但不幸的是我有如下错误:

Failed: Error while waiting for Protractor to sync with the page: 
"both angularJS testability and angular testability are undefined.  
This could be either because this is a non-angular page or because 
your test involves client-side navigation, which can interfere with 
Protractor's bootstrapping.  See http://git.io/v4gXM for details

这个页面是有角度的页面,我不知道如何处理它。我不能使用'browser.ignoreSynchronization = true',因为那时我有错误,没有定义角度。我也不能刷新浏览器,因为那时我丢失了我的内容(它显示了更多点击),所以我不知道怎么能这样做。

非常感谢任何提示。

答案

iframe和量角器不能相处得很好。我使用browser.waitForAngularEnabled();,然后进行检查,然后切换回来。 例:

browser.waitForAngularEnabled(false);
browser.switchTo().frame(iFrame)
//Do stuff inside iframe here. You should be treating this as a non angular page
browser.switchTo().defaultContent();
browser.waitForAngularEnabled(true);

以上是关于等待Protractor与页面同步时出错的主要内容,如果未能解决你的问题,请参考以下文章

Jasmine在等待Protractor与页面同步时出错:“hooks is undefined”

执行量角器测试时“失败:等待量角器与页面同步时出错”

错误超时等待量角器在 11 秒后与页面同步

ajax的同步与异步

将 GraphQL 片段与 Apollo Hooks 一起使用时出错

.Ajax(async异步与sync同步)