Dans mes rails 3.2 Projet, j'envoie une requête HTTP occasionnelle à mais même avec cela en place, < Code> JSONIP code> est appelé à partir de JavaScript. Et donc j'ai trouvé que Quelle est la bonne façon de supporter la demande Ajax dans une configuration concombre / capybara / sélénium? p> p> http://jsonip.com code> à partir de JavaScript. Mais lors de l'exécution de concombre avec la balise code> @javascript code>, la demande est envoyée très fréquemment. Ceci est évidemment très indésirable et je voudrais supporter de telles demandes. Maintenant, je pensais pouvoir utiliser le
Stub_Request code> à partir de
webmock code> pour cela, comme:
webmock code> ne supporte pas réellement la demande d'ajax (au moins pas avec la relève
Stub_Request code>). P>
3 Réponses :
Le seul moyen de le faire est de changer d'URL ou de désactiver la demande en fonction de l'application Environnement est exécutée. p>
Vous ne pouvez pas supprimer cette demande du côté du test car cette demande est faite par navigateur em> pas par votre application. P>
également comme solution temporaire ou solution pour CI Server, vous pouvez désactiver cette URL dans le fichier d'hôtes. P>
Hmmm, oui ... j'avais peur de ça. Je l'ai fait fonctionner maintenant en générant simplement une variable JavaScript qui contient 0 lorsque l'environnement des rails est le développement, 1 lorsqu'il est test et 2 lors de sa production. J'empêche ensuite l'appel Ajax au service externe lorsque la variable est égale à 1. Pas la plus belle solution, mais cela fonctionne. Merci, iafonov.
Vous pouvez utiliser bouffing-billy https://github.com/oesmith/puffing-billy À cette fin. J'utilise cela pour simuler des appels JSONP à recruter dans mon application. P>
Capybara n'est pas au courant des demandes Stubbed via WebMock, car les demandes provenaient de Capybara-Webkit ou de Firefox. P>
Cet article de NoTbot vous guidera à travers elle:
http://robots.thathatbot.com/Utilisation-capybara -à-test-javascript-ce-make-http p>