我在Selenium IDE中的彈出窗口之間切換時遇到問題。我使用Facebook的測試用戶系統來創建一個測試用戶(這部分工作完美),然後寫了一些步驟來刪除他們所屬的應用程序的授權(令人討厭的是,Facebook不會讓你指定你是否是你'喜歡你的測試帳戶已經授權應用程序)。無論如何,一旦我有我的應用程序沒有現成的授權簽署成爲Facebook的一個新的測試用戶,我把它打開網頁包含連接按鈕,然後:測試facebook連接硒
waitForCondition selenium.browserbot.getCurrentWindow().document.getElementById('fbSignInAnchor')
click css=#fbSignInAnchor > img
在這一點上,Facebook使用授權啓動該彈出窗口。我嘗試過使用waitForPopup
,但未能檢測到彈出窗口。所以現在我有它pause 5000
然後selectWindow title=Log into [my app's name]
,但這是順序運行時失敗 - 如果我手動執行此步驟,它工作正常。
什麼是讓它等待彈出窗口,然後選擇它的最佳方式,以便我可以運行下一步,即clickAndWait name=grant_required_clicked
和click name=grant_clicked
(單擊兩個提交按鈕來授權應用程序)。
注意,Facebook的API測試,似乎讓用戶可以設置爲授權或不被您的應用程序的授權。請參閱http://developers.facebook.com/docs/test_users/ Set Installed = false(默認情況下爲true)。請注意,如果將安裝設置爲true,那麼還有permissions參數以允許您指定應該給予應用程序的權限。 – GrahamMc 2012-04-21 18:56:31
謝謝@GrahamMc,不知道我錯過了這個。這節省了我爲刪除授權而寫的幾個不必要的步驟! – ehed 2012-04-23 18:14:20
希望你來對@ehed - 我放棄了嘗試GUI測試我的應用程序由於時間限制,有多悲傷 - 但我想再試一次。事實上,這就是我知道API有這個選項的原因,所以我很高興我的工作不是徒勞 - 它幫助了你!我總是後悔沒有測試自動化。 – GrahamMc 2012-04-24 14:01:38