4

我有一个 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 上关注我们。当他们点击这些链接时,他们会在新窗口中打开。我想验证当他们单击链接时,他们将转到正确的页面。

我从 Amazon 购买了 The Rspec Book,因为我还在学习测试驱动开发、Rspec 和 Capybara。我检查了这本书的几个部分,但找不到任何解决这个问题的信息。

http://www.amazon.com/The-RSpec-Book-Behaviour-Development/dp/1934356379

任何帮助,将不胜感激。

4

2 回答 2

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"

如果您想检查 url 本身(您是否正确复制或该 url 仍然指向正确的页面) - 那么这里是相关的 Capybara 文档:调用远程服务器

于 2012-08-23T16:03:47.680 回答
0

默认情况下,Capybara 使用 :rack_test 驱动程序,该驱动程序速度快但有限:它不支持 JavaScript,也无法访问 Rack 应用程序之外的 HTTP 资源,例如远程 API 和 OAuth 服务。要绕过这些限制,您可以为您的功能设置不同的默认驱动程序。例如,如果您希望在 Selenium 中运行所有内容,您可以这样做:

Capybara.default_driver = :硒

https://github.com/jnicklas/capybara

于 2014-06-01T10:45:40.980 回答