【问题标题】:How can I navigate my site through rspec/capybara如何通过 rspec/capybara 浏览我的网站
【发布时间】:2011-10-16 12:25:17
【问题描述】:

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

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

有什么建议吗?谢谢

【问题讨论】:

  • 水豚就是这样。您可以单击链接、查找文本,甚至运行 javascript(如果您使用 Selenium 之类的东西)。
  • 是的,但我怎样才能自动访问我网站上的每个可访问页面?我想我应该研究一下解析站点地图之类的东西。
  • 你能接受我的回答吗?

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


【解决方案1】:

这是一个使用 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-rails 水豚 硒网络驱动程序

要访问每个页面,只需通过迭代“rails routes”重复该过程 示例:

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多