我有一个Ruby on Rails 3.2.6应用程序,我使用下面的代码编写了应用程序中链接的测试:
visit about_path
click_link "Frequently Asked Questions (FAQ)"
page.should have_selector 'title', text: full_title('Frequently Asked Questions (FAQ)')
我在整个应用程序中都有链接,人们可以在Twitter和Facebook上关注我们。当他们点击这些链接时,他们会在新窗口中打开。我想验证当他们点击链接时他们将转到正确的页面。
我从亚马逊购买了Rspec Book,因为我还在学习测试驱动开发,Rspec和Capybara。我已经检查了本书的几个部分,但找不到任何解决此问题的信息。
http://www.amazon.com/The-RSpec-Book-Behaviour-Development/dp/1934356379
任何帮助都将不胜感激。
答案 0 :(得分:1)
如果要检查自己的代码(生成的页面包含正确的链接) - 然后测试相关链接的href
属性。这样的事情:
href = "http://www.amazon.com/The-RSpec-Book-Behaviour-Development/dp/1934356379"
page.should have_selector "a[href='#{href}']", text: "The Rspec Book"
如果你想检查自己的网址(你正确地复制了网址或者网址仍然指向了正确的网页) - 那么这里是相关的Capybara文档:Calling remote servers。
答案 1 :(得分:0)
默认情况下,Capybara使用:rack_test驱动程序,该驱动程序速度快但有限:它不支持JavaScript,也无法访问Rack应用程序之外的HTTP资源,例如远程API和OAuth服务。要解决这些限制,您可以为功能设置不同的默认驱动程序。例如,如果您更喜欢在Selenium中运行所有内容,则可以执行以下操作:
Capybara.default_driver =:selenium