使用 capybara-webkit 测试 jquery 对话框
我想测试用户单击链接并弹出 jquery 对话框(http://jqueryui.com/demos/dialog/)的交互。
我想测试:
- 对话框是否显示
- 对话框中的文本
- 是否正确 用户可以通过单击“x”退出
我手动测试了对话框并且它可以工作,但我对如何编写实际规范感兴趣。我想使用 Capybara-webkit 来完成此操作,但我无法找到实际使用 Capybara-webkit 的代码示例。
我正在使用 Capybara-webkit 和规范,但没有使用 Cucumber。
I want to test an interaction where the user clicks a link and a jquery dialog (http://jqueryui.com/demos/dialog/) pops up.
I would like to test:
- That the dialog shows up
- That text in the dialog box is correct
- That the user can exit by clicking the 'x'
I tested the dialog manually and it works but I am interested in how I would write the actual spec. I would like to do this using Capybara-webkit, but I haven't been able to find code samples for actually using Capybara-webkit.
I am using Capybara-webkit and specs but not cucumber.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
具体操作方法如下:
资源
安装
确保您的 Gemfile 包含 capybara-webkit、rspec-rails 和 database_cleaner:
您需要 database_cleaner,因为除了 Rack::Test 之外,数据库事务与 rspec 驱动程序不兼容:
您仍然必须使用 :js =>;测试中的真实标志。事实证明,这不是仅限 selenium 的功能:
当然,
需要 'capybara/rspec'
并在你的 spec_helper 中设置Capybara.javascript_driver = :webkit
:这应该这是让 capybara-webkit 和 rspec 启动并运行所需的一切。
Here's how to do this:
Resources
Installation
Make sure your Gemfile includes capybara-webkit, rspec-rails, and database_cleaner:
You need database_cleaner because database transactions aren’t compatible with rspec drivers besides Rack::Test:
You must still use the :js => true flag in your tests. Turns out, it's not a selenium-only feature:
And, of course,
require 'capybara/rspec'
and setCapybara.javascript_driver = :webkit
in your spec_helper:That should be all it takes to get capybara-webkit and rspec up and running.