Comment combiner trouver et à l'intérieur à l'aide de Capybara?
Suivantes fonctionne comme prévu:
within('h2', text: 'foo') do
should have_content 'bar'
end
Je suis en train de les vérifier à l'intérieur de l'élément parent, à l'aide de find(:xpath, '..')
Une fois que vous trouver un élément, comment appliquer .find(:xpath, '..')
, puis vérifier quelque chose dans que élément?
Pourquoi ne pas simplement utiliser une seule instruction XPath?
Je trouve
Je faisais allusion à votre dernière phrase: au Lieu d'appliquer un XPath et puis l'autre, vous pouvez utiliser un seul de XPath.
Je trouve
'h2', text: 'foo'
plus lisible.Je faisais allusion à votre dernière phrase: au Lieu d'appliquer un XPath et puis l'autre, vous pouvez utiliser un seul de XPath.
OriginalL'auteur B Seven | 2012-12-14
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez XPath localisateur à l'intérieur de
within
, il doit commencer par.
(si elle ne commence pas par.
la recherche se fait pas dans.myclass
mais dans l'ensemble du document).E. g.:
ou:
Code de @pendant sept de réponse peut être écrite sur une seule ligne:
ou
'./p[@class=test]'
ses pas en mesure de trouver, Si j'utilise'//p[@class=test]'
de contrepartie, d'un même élément et un autre élément à l'extérieur de l'élément parent. s'il vous Plaît aiderIl a travaillé avec
.//p[@class=test]
./
fonctionne parfaitement, merci!OriginalL'auteur Andrei Botalov
Ce qui suit est une approche:
find("//h2[text()='foo']/..").should have_content 'bar'
OriginalL'auteur B Seven
Avec la nouvelle syntaxe de Rspec après 2.11, il devrait être;
OriginalL'auteur beydogan