Trouver un champ handicapé avec Capybara
J'ai une boîte de sélection, avec une étiquette:
<label for="slide_orientation">Slide orientation</label>
<select disabled="" class="property" id="slide_orientation" name="slide_orientation">
<option value="horizontal">Horizontal</option>
<option value="vertical" selected="selected">Vertical</option>
</select>
Comme vous pouvez le voir la boîte de sélection est désactivée. Lorsque j'essaie de le retrouver avec field_labeled("Slide orientation")
il renvoie une erreur:
Capybara::ElementNotFound: Unable to find field "Slide orientation"
from /Users/pascal/.rvm/gems/ruby-1.9.3-p392/gems/capybara-2.0.2/lib/capybara/result.rb:22:in `find!'
Lorsque la boîte de sélection n'est pas désactivé, field_labeled("Slide orientation")
retourne l'élément select amende juste.
Est-ce un comportement normal? Et si oui, comment pourrais-je aller sur la recherche d'un élément désactivé? Dans mon cas, j'en ai besoin pour tester si il est désactivé ou n'est pas.
source d'informationauteur Pascal Lindelauf
Vous devez vous connecter pour publier un commentaire.
Capybara 2.1.0 prend en charge
désactivé
filtre. Vous pouvez facilement trouver des handicapés champs.Vous devez spécifier explicitement, c'est parce que le
disabled
filtre est désactivé par défaut.Celui-ci passe s'il a désactivé attribut.
Courir avec
js: true
etpage.evaluate_script
.Mise à jour
ou vous pouvez utiliser
have_css
(volé forme cette excellente réponse )
Andreas et cette réponse m'a mis sur la piste de la solution finale. Trouver un champ désactivé avec une certaine étiquette (au lieu de HTML id) peut être obtenue de cette manière:
De vérifier si ce champ est désactivé peut être fait avec une seule instruction:
Il se sent toujours comme une solution de contournement au lieu de la meilleure Capybara-comme solution, mais ça marche!!!
Puisque les réponses sont vieux et, les choses ont évolué un peu depuis lors, voici un mise à JOUR.
Si vous voulez juste pour vérifier si un champ est désactivé, vous pouvez maintenant faire:
Que par cette PR:
https://github.com/teamcapybara/capybara/issues/982