2011-10-16 1 views
0

Je suis en train d'apprendre l'optimisation des moteurs de recherche et j'aimerais effectuer quelques tests SEO de base sur mon site de rails. Cela impliquera des choses comme la vérification des titres uniques, alt texte sur les images, etcComment puis-je naviguer sur mon site via rspec/capybara

Avant que je puisse faire cela, je dois être capable de naviguer sur mon site. Je peux le faire manuellement en définissant tous les itinéraires visitables, mais je me demandais s'il y avait un moyen d'automatiser cela via rspec et capybara? Peut-être que je pourrais utiliser le fichier de routes, ou une sorte de gemme sitemap?

Des suggestions? Merci

+0

C'est ce que Capybara est. Vous pouvez cliquer sur des liens, trouver du texte, même exécuter javascript (si vous utilisez quelque chose comme Selenium). – bricker

+0

Oui, mais comment puis-je automatiser cela pour visiter toutes les pages accessibles sur mon site? Je suppose que je devrais regarder dans l'analyse d'un sitemap ou quelque chose. – Chris

+0

Est-il possible que vous puissiez accepter ma réponse? – doug

Répondre

1

Voici un exemple d'un test de vue à l'aide 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 

Ce qu'il fait: 1) Rails visites Page (utilise Firefox comme moteur) 2) trouver le terrain et remplir Joh dans ce champ 3) vérifier si la page a les mots John Doe 4) cliquez sur l'élément avec id indiqué ci-dessus etc ..

Gems comprennent rspec rails capybara Seleni um-WebDriver

Pour visiter chaque page il suffit de répéter le processus par itérer 'rails voies de exemple:

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

Hope this helps.

Questions connexes