J'ai un bouton sur une page qui n'apparaît que lorsque je survole un certain élément. Mais je n'arrive pas à comprendre comment l'émuler et ensuite cliquer sur le lien pour que je puisse le tester en utilisant Capybara et Selenium.hover mouse sur capybara
Répondre
Vous pouvez utiliser une étape définie sur mesure pour cela, comme:
When /^I click "([^"]*)" inside element "([^"]*)"$/ do |button, element_name|
A l'intérieur, vous écrivez quelque chose comme:
begin
evaluate_script("$('#{element_name}').trigger('mouseover')")
rescue Capybara::NotSupportedByDriverError
end
Et puis vous cliquez sur ce bouton, vous voulez :)
J'ai trouvé un moyen de simuler "mouse hover" en utilisant Capybara + le pilote Selenium. Essayez ce code:
module Capybara
module Node
class Element
def hover
@session.driver.browser.action.move_to(self.native).perform
end
end
end
end
Cela ne fonctionne pas –
Fonctionne avec les pilotes Chrome et Firefox de Selenium. Vous devrez peut-être attendre une fraction de seconde après le vol stationnaire avant de répondre. Si cela ne fonctionne toujours pas, utilisez la gem 'debugger', insérez un appel à' debugger' dans l'un de vos tests Capybara, puis essayez de taper les commandes Selenium en regardant ce qui se passe dans la fenêtre du navigateur Chrome/FF. –
Oh, dans FF vous devrez peut-être activer les événements natifs. C'est dans les documents de Selenium ... –
- 1. jquery hover mouse out
- 2. Transparent speedbutton mouse hover
- 3. Mouse Hover Multiple Buttons
- 4. convertir hover mouse pour cliquer
- 5. Mouse hover événement dans MVC
- 6. Cocoa - Capture de l'événement NSStatusItem mouse hover
- 7. Problèmes avec Mouse Hover/Image Swap
- 8. Pop up image on mouse hover
- 9. C# WinForms trayapp MenuItem mouse hover detection
- 10. Vérifier le sous-div mouse-hover
- 11. Comment faire pour ComboBox Arrière-plan sur Mouse Hover?
- 12. Flex 3 LinkButton: garde le style inchangé sur mouse-hover
- 13. MessageBox sur l'événement Mouse Hover de Textbox implémentant MVVM
- 14. Expansion div sur mouse hover sur une image qui est au centre de ce div
- 15. Comment enregistrer l'événement mouse hover sur l'élément de menu Visual Studio?
- 16. Fade ul élément de menu in and out sur mouse hover
- 17. Safari iphone/ipad "mouse hover" sur un nouveau lien après le précédent est remplacé par javascript
- 18. Jquery Script pour Google comme POP Up images sur Mouse Hover
- 19. mouse event, pas sur Jframe
- 20. TextBox Mouse Double-cliquez sur
- 21. Événement Mouse Mouse de WPF à WinForms
- 22. :: Erreur sur capybara
- 23. WPF FrameworkElement Mouse Cliquez sur le numéro
- 24. fire mouse events sur les deux usercontrols
- 25. Événement Mouse Leave sur Windows Form
- 26. GlScene Mouse pour pointer sur TGLHeightField
- 27. Mouse Listener, détecter le fichier Mouse Over dans l'Explorateur
- 28. jQuery .hover (function {}) uniquement sur hover réel
- 29. RoutingError sur capybara avec rubycas
- 30. Dart, clic droit mouse mouse ne se déclenche pas
Malheureusement, cela ne fonctionne pas pour css: hover menus déroulants à base ... nous avons besoin d'une sorte de façon de se déplacer explicitement une souris faux autour de certaines choses ... – fringd
Il devrait fonctionner IMHO . Essayez d'être plus explicite comme ceci: evaluate_script ("$ ('div # name> ul> li> a: contient (# {menu_name})'). Trigger ('mouseover')"). Afaik sélenium supporte le déplacement d'un curseur dans les dimensions x, y, mais ce n'est pas amusant;) – socjopata
socjopata, quel pilote capybara utilisez-vous et êtes-vous sûr que vous utilisez css: hover et non javascript ou jquery .hover (. ..)? – fringd