如何通过rspec / capybara浏览我的网站

时间:2011-10-16 12:25:17

标签: ruby-on-rails seo rspec integration-testing capybara

我正在学习搜索引擎优化,并希望在我的rails网站上进行一些基本的SEO测试。这将涉及检查唯一标题,图像上的替代文字等内容。

在我能做到这一点之前,我需要能够浏览我的网站。我可以通过定义所有可访问的路线来手动执行此操作,但我想知道是否有办法通过rspec和capybara自动执行此操作?也许我可以使用routes文件,或某种sitemap gem?

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:2)

以下是使用rspec进行视图测试的示例:

scenario 'autocompletes contact name', js: true do
  visit new_communication_path
  fill_in 'communication_contact_id', with: 'Joh'
  page.should have_content 'John Doe'

  find('#ui-id-2').click

  find('#communication_contact_id').value.should == 'John Doe'
  find('#contact_autocomplete_target', visible: false).value.should ==     contact.id.to_s
 end

它的作用: 1)访问rails页面(使用firefox作为引擎) 2)找到该领域并在该领域填写Joh 3)检查页面是否有单词John Doe 4)单击上面列出的id的元素 等。

宝石包括 RSpec的护栏 水豚 硒的webdriver

要访问每个页面,只需通过迭代' rails routes'重复此过程。 例如:

Rails.application.routes.routes.to_a.each do |route|
 visit route
end  

希望这有帮助。