等待量角器与页面同步时出错

时间:2018-06-28 16:57:24

标签: angularjs 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',因为那样我会出错,即未定义角度。 我也无法刷新浏览器,因为这样我会丢失我的内容(单击后显示出来),所以我不知道该怎么做。

非常感谢您提供任何提示。

1 个答案:

答案 0 :(得分:3)

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);