Comment puis-je cliquez sur ce bouton dans le capybara
Merci de m'aider à résoudre ce problème avec le capybara
J'ai un bouton comme ceci dans le capybara:
<input type="submit" value="Verify" name="verify" id="verify" class="button">
J'ai essayé avec
click_button "verify"
mais il donne une erreur:
Failure/Error: find('#verify').click
NoMethodError:
undefined method `node_name' for nil:NilClass
- Avez-vous essayé click_button "Vérifier" ?
- Merci pour votre commentaire, j'ai essayé avec click_button "Vérifier" aussi, mais même message d'erreur donné. Aussi essayé avec click_on "Vérifier", find("#vérifier").cliquez sur, mais même erreur renvoyé.
- droit jwall! capibara a du mal quand il y a une balise non fermée avant de l'envoyer, merci
InformationsquelleAutor jwall | 2012-05-16
Vous devez vous connecter pour publier un commentaire.
Répondre par l'auteur
Le problème se situe à l'intérieur du code html:
Parce que l'on est redondant
</div>
, le<input>
a traiter en dehors de la forme, d'oùcapybara
ceux provoquer des erreurs. Après avoir supprimer le redondante</div>
, tout fonctionne bien.Essayez d'ajouter
js: true
dans ledescribe
. Cela se produit lorsque vous n'avez pas de formulaire qui contient le bouton.gem 'selenium-webdriver', :group => :test
ougem 'poltergeist', :group => :test
). Si vous n'utilisez pas le pilote par défaut, le sélénium, vous aurez également besoin d'exiger de votre pilote dans votre spec_helper.rb (c'est à direrequire 'capybara\poltergeist'
) et de définir le capybara pilote (Capybara.javascript_driver = :poltergeist
avant la Rspec.configurer le bloc).Avez-vous essayez de "doubler" les sélecteurs CSS? Cela a été mon mécanisme depuis capybara-2.4.3
tout autre attribut en plus de la n ° id-vale devrait faire l'affaire, de l'e.g
Si vous avez une ID d'un élément, il suffit d'utiliser @bonzofenix de l'approche, mais de le rendre un peu plus simple:
within 'form' do
find('#verify').click
end