Rails et Selenium: comment arrêter / suspendre l'exécution d'un test dans le navigateur?
J'ai du mal (mais très intéressant) plongée dans le Comportement de Développement Axée sur l'utilisation de Concombre, RSpec, le Sélénium, et les Rails.
J'ai mon installation de prêt pour les essais avec le Sélénium, et c'est drôle à regarder Firefox pop-up et d'exécuter automatiquement par le biais de mes scénarios. Mais une chose que je voudrais faire est de mettre en pause ou arrêter l'exécution à un certain point, afin que je puisse inspecter ce que le Sélénium voit à un certain point.
Je sais de la save_and_open_page de commande, mais cela ne montre-moi l'HTML simple, sans mise en forme. Alors peut-être il y a un stop_execution méthode ou quelque chose qui s'arrête Sélénium sans la fermeture du navigateur?
source d'informationauteur Joshua Muheim
Vous devez vous connecter pour publier un commentaire.
Installer prypuis mettre
binding.pry
dans votre test où vous le souhaitez pour faire une pause. Lorsque vous avez terminé, appuyez sur Ctrl+D ou typeexit
dans le REPL qui est ouvert pour poursuivre l'exécution.ou tout simplement:
Utilisation Débogueur où vous voulez
stop/pause
l'exécution.ou
Dans Selenium IDE, vous pouvez cliquer droit sur le ligne de commandes et vous pouvez sélectionner Set/Clear point de Départ à
stop/pause
l'exécution.Ok, j'ai eu de travail par l'installation de ruby-debug19 (pour Ruby 1.9.3), et puis il suffit de fixer un point d'arrêt quelque part dans un Concombre étape.
http://rails.vandenabeele.com/blog/2011/12/21/installing-ruby-debug19-with-ruby-1-dot-9-3-on-rvm/
Une autre option est d'utiliser le Capybara-firebug gem qui ajoute un "Puis arrêtez et laissez-moi debug" l'étape qui semble essentiellement à faire de même (je ne sais pas si elle s'appuie sur le rubis-debug gemmes).
Toutes les réponses besoin d'installer de nouvelles gemmes ou encore la mise en sommeil, ce qui n'est pas la meilleure approche. Vous pouvez mettre cette ligne n'importe où dans vous étape:
Il va arrêter l'exécution jusqu'à ce que vous entrez
y
(Oui)Ainsi, par exemple, il devrait ressembler à ceci:
essayez d'utiliser le sélénium.sleep(ms)
cela permettra de faire le test d'attente d'exécution pendant le laps de temps