我试图测试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