我正在嘗試爲使用onbeforeunload事件在離開前提示用戶的網頁編寫Selenium測試。 Selenium似乎無法識別出現的確認對話框,或者提供點擊「確定」或「取消」的方法。有沒有辦法做到這一點?如果這是相關的,我使用Java Selenium驅動程序。從Selenium測試onbeforeunload事件
11
A
回答
3
你可以編寫一個測試window.onbeforeunload的用戶擴展(或只是storeEval中的一些JavaScript),然後用null替換它然後再從該頁面繼續。醜,但應該讓你離開頁面。
0
警告:這給出了一個替代的解決方案
Watij - http://watij.com/ - 可以幫助這裏。或者,如果你對ruby感到滿意,watir可以提供幫助 - http://wtr.rubyforge.org/install.html
0
當我面對使用Selenium的瀏覽器的有限控制時,我轉向MozLab插件,這個插件解決了我的問題,只適用於一個瀏覽器平臺。
0
我剛剛爲我的應用程序執行此操作,如果用戶在文檔處於未保存狀態時離開頁面,onbeforeunload
處理程序會提示提示。 Python代碼:
driver.switch_to.alert.accept()
相當於Java中的是:
driver.switchTo().alert().accept();
如果警報不存在,上面的代碼將失敗,NoAlertPresentException
所以沒有需要單獨的測試,以檢查在接受提示之前存在。
我正在運行Selenium 2.43.0,但我認爲這已經可以使用一段時間了。
如果我不想提示出現,因爲這不是我正在測試的內容,我在瀏覽器中運行自定義JavaScript,在離開頁面之前將window.onbeforeunload
設置爲null
。我把這個放在測試拆解代碼中。
相關問題
- 1. Enyo onbeforeunload事件
- 2. onbeforeunload事件後
- 3. AJAX和onbeforeunload事件
- 4. 多個onbeforeunload事件
- 5. Selenium從文件讀取測試數據?
- 6. 從對象測試事件
- 7. 從測試套件到測試selenium-ide pass變量
- 8. JSF p:remotecommand和javascript事件onbeforeunload
- 9. Javascript onbeforeunload Jquery事件錯誤
- 10. Selenium GUI測試?
- 11. Selenium測試和
- 12. 運行Selenium測試時可以處理事件嗎?
- 13. Selenium XML/Propeerties文件測試套件?
- 14. 運行Selenium測試
- 15. 陣營 - Selenium測試
- 16. Selenium設置測試
- 17. Selenium Webdriver(java)測試
- 18. Selenium Webdriver測試 - Python
- 19. 測試socket.io事件
- 20. 如何從Netbeans運行Selenium測試
- 21. 從書籤啓動Selenium測試?
- 22. 在Selenium測試中從RichTextArea獲取值
- 23. 從Selenium IDE導出測試爲Python¶
- 24. Selenium IDE:在測試中執行測試
- 25. 在線測驗,onbeforeunload
- 26. 使用Selenium和IE測試html文件
- 27. Selenium WebDriver測試一個ActiveX控件
- 28. Selenium看不到我的測試套件
- 29. Selenium 2的JUnit測試套件
- 30. 用Capybara/Selenium測試html5文件上傳?
我沒有最終做到這一點(我的要求發生了變化,因此無論如何我都最好使用常規警報),但是看起來這樣做會很有用,並且接近於Selenium如何處理其他警報的測試。 – 2008-11-27 03:36:54