Comment faire pour émuler la souris passe dessus avec le Capybara
Fondamentalement, ce que je suis en train de faire est de cliquer sur un bouton qui devient visible lorsque vous vous déplacez d'un autre élément (son parent).
J'ai essayé d'utiliser trigger.('mouseover')
sur le parent du bouton caché, mais cela ne semble pas fonctionner.
Voici un extrait de code à partir de la spécification:
# label[for ... ] -> the parent element
page.execute_script("$('label[for=\"department_#{department.id}\"]').trigger(\"mouseover\")")
# le hidden button
find(".actions").click
# some <li> on a list that drops down when clicking the hidden button
click_on("Edit department")
Et l'erreur ...
Failure/Error: click_on("Edit department")
Selenium::WebDriver::Error::ElementNotVisibleError:
Element is not currently visible and so may not be interacted with
Je voudrais savoir comment puis-je faire la .actions
bouton visible sur la page, afin de cliquez par la suite.
Toute aide serait grandement appréciée.
InformationsquelleAutor adritha84 | 2012-03-20
Vous devez vous connecter pour publier un commentaire.
Capybara fournit Élément
#hover
méthode à partir de la version 2.1:Cette méthode est implémentée dans
Capybara::Selenium::Driver
pratiquement de la même manière que dans @AlexD de réponse.Notez que pour utiliser
#hover
en Sélénium il est généralement préférable de se tourner natif des événements sur:xvfb-run -a
🙁Alex décrit la solution de tels problèmes dans son blog: vérifier http://aokolish.me/blog/2012/01/22/testing-hover-events-with-capybara
mouseenter
résolu mon problème par la suiteCapybara::NotSupportedByDriverError
erreur?page.execute_script('$("#element").trigger("mouseenter")')
J'ai trouvé un moyen de simuler la souris "hover" à l'aide de Capybara + le Sélénium pilote:
spec_helper.rb
outest_helper.rb
ou quelque chose de similaire, qui est partagée par tous vos fichiers de test, vous pouvez le mettre là.À l'aide de Capybara + Sélénium, il est possible d'utiliser de "hover" avec cette commande: