我試圖測試JS確認對話框與黃瓜在軌道上。我有一個window.onbeforeunload事件處理程序,如果您嘗試從頁面導航時提示您確認對話框,但我不知道如何測試它,任何人都有關於如何完成此任務的想法?黃瓜+測試JS警報
15
A
回答
6
有硒的各種功能,你可以用它來捕捉警報/確認 他們不能直接獲得與webrat硒實現,但使用webrat的config.mode = :selenium
他們可以如下使用時:
Then /^I should see a JS alert$/ do
selenium.is_alert_present.should be_true
end
# or
Then /^I should see a "Are you sure?" JS confirm dialog$/ do
selenium.get_alert.should eql("Are you sure?")
end
# you can also click the OK/Cancel buttons on confirm boxes with
selenium.chooseOkOnNextConfirmation();
#and
selenium.chooseCancelOnNextConfirmation();
有可能沒有最大的測試,但給你一個想法。 內部硒覆蓋JS的警報()和確認()函數,以便它可以捕獲此信息。
可以在http://selenium-client.rubyforge.org/classes/Selenium/Client/Idiomatic.html
發現在selenium faq或你的寶石服務器
0
你可以使用Webrat或Selenium和黃瓜來測試這個。
我的猜測是,你想模擬瀏覽器或自動化瀏覽器測試,
您可以在這種情況下使用Webrat或Webrat ::硒或乾脆硒與黃瓜。
我已經測試過使用硒和黃瓜之前,但似乎無法找到代碼,將編輯它,如果我這樣做。
HTH
0
我會建議使用screw-unit對頁面上的JavaScript測試行爲。您還可以看看Relevance的blue-ridge插件,它包含了螺絲單元,並增加了對命令行和瀏覽器js測試的支持。你可以在github的相關/ blue-ridge下找到它。 (我沒有代表還沒有發佈多個鏈接:(
這將是一個有趣的練習,使用螺絲單元和/或藍脊驅動黃瓜測試,並可能不那麼難拉。關
1
上查看方法定義的詳細文檔您可以在您的黃瓜步定義硒輔助對象調用它們 - 例如,
Then /^I should see a JS confirm dialog saying "([^\"]*)"$/ do |statement|
selenium.confirmation.should eql(statement)
end
0
This gist有步驟在任何Capybara驅動程序中測試Rails 2和3中的JS確認對話框,應該很容易適應警告框。
相關問題
- 1. 黃瓜測試
- 2. 生成測試執行與Nightwatch黃瓜嫁接黃瓜報告
- 3. 的黃瓜測試
- 4. 黃瓜is_admin?測試
- 5. 我黃瓜測試場景
- 6. 用黃瓜測試SWFUpload
- 7. 黃瓜測試重定向
- 8. 黃瓜Junit測試代碼
- 9. 黃瓜和JUnit測試
- 10. NoMethodError運行黃瓜測試
- 11. 黃瓜/ RSpec的測試
- 12. 黃瓜測試框架
- 13. 用黃瓜測試外鍵
- 14. 測試設計與黃瓜
- 15. jQuery.live()和黃瓜測試
- 16. 黃瓜測試停止
- 17. 在黃瓜堆積測試
- 18. 黃瓜測試java示例?
- 19. 重複小黃瓜測試
- 20. 如何寫黃瓜測試?
- 21. 如何測試與黃瓜
- 22. 黃瓜-JS:與phantomjs
- 23. 黃瓜錯誤,當我運行我的黃瓜測試
- 24. 如何調試黃瓜測試?
- 25. 測試報告輸出使用黃瓜 - 硒紅寶石
- 26. 如何在重新運行後報告黃瓜測試?
- 27. Node.js BDD。黃瓜,小黃瓜或黃瓜?
- 28. 黃瓜測試表變長太長
- 29. PhantomJS不適用於黃瓜測試
- 30. 紅寶石/黃瓜測試初始化
如果你不想使用'selenium.chooseOkOnNextConfirmation()',你可以在調用'selenium.is_alert_present'後使用'selenium.get_alert'來消費警報。如果你既沒有這些東西,你的下一個硒語句也會因爲待處理的警報而失敗。 – Loktar 2011-03-31 18:24:08