10
votes

Demandes Ajax à encerclement en concombre / Capybara / sélénium?

Dans mes rails 3.2 Projet, j'envoie une requête HTTP occasionnelle à http://jsonip.com à partir de JavaScript. Mais lors de l'exécution de concombre avec la balise @javascript , 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 à partir de webmock pour cela, comme: xxx

mais même avec cela en place, < Code> JSONIP est appelé à partir de JavaScript. Et donc j'ai trouvé que webmock ne supporte pas réellement la demande d'ajax (au moins pas avec la relève Stub_Request ).

Quelle est la bonne façon de supporter la demande Ajax dans une configuration concombre / capybara / sélénium?


0 commentaires

3 Réponses :


8
votes

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.

Vous ne pouvez pas supprimer cette demande du côté du test car cette demande est faite par navigateur pas par votre application.

également comme solution temporaire ou solution pour CI Server, vous pouvez désactiver cette URL dans le fichier d'hôtes.


1 commentaires

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.



6
votes

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.


0 commentaires

4
votes

Capybara n'est pas au courant des demandes Stubbed via WebMock, car les demandes provenaient de Capybara-Webkit ou de Firefox.

Cet article de NoTbot vous guidera à travers elle:
http://robots.thathatbot.com/Utilisation-capybara -à-test-javascript-ce-make-http


0 commentaires