Question

J'ai commencé la migration de concombre + Webrat au concombre + capybara. Maintenant, le comportement de « Je devrais voir » semble être quelque peu différente. La plupart d'entre eux échouent maintenant, bien que je ne change rien sur la page. Je l'ai remplacé l'extrait qui devrait être trouvé avec des trucs qui se trouve sur chaque page et un texte il fonctionne et pour tout autre texte, il ne fonctionne pas. Je ne trouve pas de modèle dans ce qui se trouve dans le contenu de la page et ce n'est pas. Webrat utilisé pour imprimer ce que le contenu de la page est qu'il a trouvé, dans le cas où il ne contenait pas l'expression nécessaire. Y at-il de toute façon d'avoir capybara montrent ce texte, il a obtenu de la page dans laquelle il a essayé de trouver le texte?

Était-ce utile?

La solution

Essayez d'ajouter cette étape:

Then show me the page

Autres conseils

Then show me the page appelle Webrat / méthode save_and_open_page sous-jacente pour capybara. Constaté que utile lorsque vous travaillez avec un steak.

Si vous voulez avoir le navigateur ouvrir la page lorsque la page que vous n'utilisez le joyau 'de Launchy. Ajoutez à votre fichier de pierres précieuses, puis dans / fonctions / support créer un fichier appelé debugging.rb avec le contenu:

After do |scenario|
   save_and_open_page if scenario.failed?
end

Si vous utilisez Javascript ou Ajax dans vos pages et que vous voulez voir ce qui se passe, j'ai trouvé que le pilote Poltergeist est très bon pour vous laisser entrer dans les DOM et de trouver ce qui ne va pas.

Si vous configurez votre pilote Capybara avec l'option de débogage à distance:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, inspector: true)
end

Vous pouvez ensuite mettre la ligne suivante dans vos étapes:

page.driver.debug 

qui lance un nouveau navigateur Chrome avec l'ensemble actuel d'état DOM, vous permettant de faire à la console. (Sur ma version de Linux, je devais créer un lien symbolique chrome au chrome-navigateur, mais autrement a bien fonctionné).

Source Info: http://jonathanleighton.com/articles/2012/poltergeist-0-6 -0 /

Then show me the response n'a pas fonctionné pour moi avec concombre 1.1 J'ai trouvé utile d'écrire une étape en utilisant la commande de capybara:.

print page.html

fournit l'état actuel du DOM

Vous pouvez également utiliser « Puis me montrer la réponse » qui affichera le code HTML à la console si vous ne souhaitez pas utiliser un navigateur.

Vous pouvez toujours prendre un avoir, il capture d'écran quand quelque chose a échoué. Debugger beaucoup de fonctionnalités à défaut de cette façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top