将Protractor与非Angular网站在iframe中托管的Angular应用同步

时间:2015-06-02 13:40:15

标签: javascript angularjs protractor

我无法通过by.binding()等方法访问元素。

项目设置如下:

Non-angular website
|
--> Iframe
    |
    --> Angular app

以下是我正在尝试做的事情的片段:

// Disable sync
browser.ignoreSynchronization = true;

// Navigate to non-angular website
browser.driver.get('http://non-angular.com');

// Switch to angular app (inside the iframe)
browser.switchTo().frame('angular-iframe');

// Search for an element
browser.driver.findElement(by.id('title')); // -> Works

element(by.binding('model.title')); // -> Fails 
UnknownError: unknown error: [ng:test] no injector found for element argument to getTestability

知道我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:1)

好的,问题与非角色网站+ Iframe没有关系。而是由Angular手动引导引起的。

我所要做的就是告诉量​​角器要等到页面上的Angular可用,并准备与之同步。