在角度应用中定位非角度iframe元素

时间:2014-11-14 12:06:34

标签: angularjs selenium-webdriver webdriver protractor

我正在为我的角应用程序编写e2e测试。登录是通过iframe包含的外部资源。对于我的一些测试,我需要我的用户登录,所以我试图定位iframe输入以添加凭据和登录。类似的东西:

ptor = protractor.getInstance();
ptor.switchTo().frame('loginIframe');
element(by.id('username')).sendKeys(username);

在这个阶段我收到一个错误:

Error: Error while waiting for Protractor to sync with the page: {"message":"angular is not defined"....

我想这是因为iframe不是角度特征量角器掉了下来。以前有人见过这样的行为吗?我想也许有可能使用webdriver来定位元素而不是量角器。

非常感谢任何想法

C

1 个答案:

答案 0 :(得分:1)

切换到非角度iframe后,请使用

browser.driver.findElement(by.id('username')) 

而不是

element(by.id('username'))

有关详细信息,请访问:https://github.com/sakshisingla/Protractor-Non-Angular-Tests/wiki/Creating-test-scripts-using-Protractor-for-non-angular-application

请告诉我这是否有帮助!