Cogner les requêtes Ajax en Concombre / Capybara / Sélénium?
Dans mon Rails 3.2 projet, j'ai envoyer un occasionnel de la requête http à http://jsonip.com
à partir de Javascript. Mais lors de l'exécution de Concombre avec le @javascript
balise, la demande sera envoyée très fréquemment. C'est évidemment très regrettable et je voudrais stub de telles demandes. Maintenant, je pensais que je pouvais utiliser la stub_request
de webmock
pour ce, comme suit:
Before do
stub_request(:any, /.*jsonip.*/).to_return(:body => '{"ip":"24.104.73.2","about":"/about"}')
end
mais même dans ce lieu, jsonip
est appelée à partir de Javascript. Et donc j'ai trouvé que webmock
n'est pas réellement le stub requête Ajax (du moins pas avec le ci-dessus stub_request
déclaration).
Quelle est la bonne façon de stub requête Ajax dans un Concombre /Capybara /Sélénium installation?
OriginalL'auteur Pascal Lindelauf | 2012-03-15
Vous devez vous connecter pour publier un commentaire.
La seule façon de le faire est de changer d'url ou de désactiver la demande en fonction de l'environnement de l'application est exécutée.
Vous ne pouvez pas stub cette demande de test de côté parce que cette demande est faite par navigateur pas par votre application.
Aussi comme solution temporaire ou une solution de serveur CI, vous pouvez désactiver cette url dans le fichier hosts.
OriginalL'auteur iafonov
Vous pouvez utiliser souffler-billy https://github.com/oesmith/puffing-billy à cette fin. Je l'utilise pour se moquer de JSONP appels à Recurly dans mon application.
OriginalL'auteur Thibaut Barrère
Capybara n'est pas au courant de toutes les demandes écrasé par webmock que les demandes sont à venir à partir de capybara-webkit ou firefox.
Ce thoughtbot article va vous guider à travers:
http://robots.thoughtbot.com/using-capybara-to-test-javascript-that-makes-http
OriginalL'auteur Rimian