2014-11-14 67 views
0

我正在爲我的角度應用編寫e2e測試。登錄是通過iframe包含的外部資源。對於我的一些測試,我需要我的用戶登錄,所以我試圖定位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來定位元素而不是量角器。

任何想法非常讚賞

Ç

回答

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

讓我知道這是否有幫助!

+0

感謝您的回覆。我最終不得不創建一個量角器實例並使用它的.switchTo().frame()方法 – Cathal

+0

太棒了!如果問題完全解答,那麼您可以標記答案並關閉帖子。如果還有問題,請在這裏發帖,以便帖子完全回答! –