我正在学习搜索引擎优化,并希望在我的rails网站上进行一些基本的SEO测试。这将涉及检查唯一标题,图像上的替代文字等内容。
在我能做到这一点之前,我需要能够浏览我的网站。我可以通过定义所有可访问的路线来手动执行此操作,但我想知道是否有办法通过rspec和capybara自动执行此操作?也许我可以使用routes文件,或某种sitemap gem?
有什么建议吗?感谢
答案 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
希望这有帮助。