Capybara: comment vérifier la valeur TEXT d'un élément avec xpath et css?
Essayer de faire ce test à l'échec sans succès.
J'ai ce code HTML:
<div id="navigation">
<ul>
<li>
<a href="/url">TV</a>
Et puis j'ai essayé d'identifier le texte de l'élément et le faire échouer.
J'ai utilisé toutes ces expressions Xpath, mais tous les garder en passant, même si je suis en utilisant un texte différent pour la comparaison :S
page.should have_xpath("//div[@id='navigation']//a", :content => 'Radio')
page.should have_xpath("//div[@id='navigation']//a", :text => 'Radio')
page.should have_xpath("//div[@id='navigation']//a[contains(string(),'Radio')]")
page.should have_xpath("//div[@id='navigation']//a[contains(text(),'Radio')]")
page.should have_xpath("//div[@id='navigation']//a[contains(.,'Radio')]")
Aucune idée de comment j'ai pu identifier le texte d'un précis de l'élément HTML avec capybara?
et... est-il possible de réaliser la même chose avec CSS?
Cheers!
source d'informationauteur mickael
Vous devez vous connecter pour publier un commentaire.
De RSpec 2.11 (juillet 2012), le meilleur moyen est d'utiliser le
expect
syntaxe:Vous pouvez configurer RSpec pour accepter cette nouvelle syntaxe pour garder votre base de code conforme.
Il s'avère qu'il y a un autre élément avec le texte "Radio" dans la 'navigation' DIV, donc, qui était à l'origine du test à l'échec.
Référence pour l'avenir, l'identification du 1er élément explicitement s'est comporté comme prévu et échoue le test:
Il va vous aider à:
de l'essayer.
De mettre cela ici, je peux trouver la prochaine fois que je tombe sur cette. 😛
Mon code html ressemble à ceci:
Je veux trouver le texte et l'url de la valeur et affirmer qu'ils sont corrects. À l'aide de Capybary 2.16, Rails 5.1 et minitest voici comment je l'ai fait:
Si l'ID, texte ou d'href changement de valeur que le test échoue.