2010-09-12 3 views
0

J'utilise le capybara avec le concombre dans les rails 2.3.9.Comment vérifier qu'un lien pointe vers la bonne image et qu'il a la bonne cible et le bon titre

Voici mon code html

<a href="http://twitter.com/dorelal" target="_blank" title="twitter"> 
    <img alt="twitter" src="/images/social/twitter.png?1284129939" /> 
</a> 

Je veux vérifier les éléments suivants

image should be ending with twitter.png 
image alt should be "twitter" 
link should have href "http://twitter.com/dorelal" 
link should have target "_blank" 
link should have title "twitter" 

Répondre

0

La meilleure façon de vérifier un lien est d'avoir votre pilote, cliquez sur et puis vérifiez qu'il fait à la bonne page. Cela vous donnera plus de confiance que votre application ne commettra pas d'erreur, de redirection, etc. Pour les cas exceptionnels où cliquer sur le lien dans un test est mal conseillé (ex: si le lien est hors site), j'utilise cette étape:

Then I should see a link titled "foo" 
Then I should see a link titled "foo" that goes to "http://www.example.org" 

Then /^I should see a link titled "(.+?)"(?: that goes to "(.+)")?$/ do |title, target| 
    if target.blank? 
    page.should have_link(title) 
    else 
    page.should have_link(title, :href => target) 
    end 
end 

Si vous obtenez "un mauvais nombre d'arguments (2 pour 1)", mettez à jour votre version de Capybara. L'option: href => 'bar' a été ajoutée récemment.

Questions connexes