Lorsque je mets une étiquette de cassette sur un concombre en vedette marqué avec @javascript (amenant Capybara à utiliser le pilote Selenium), des choses étranges commencent à se produire...
La première fois que je le lance, tout se passe comme prévu : la cassette enregistre, les données sont utilisées, et tout passe.
La prochaine fois que je l'exécute (hors de la cassette), il échoue avec une demande non enregistrée : GET http://localhost :9887/ identifier .
Il semble que Selenium ait besoin de parler à son serveur en utilisant ce port (le ping pour voir s'il existe, dans ce cas). Je ne sais pas exactement comment le magnétoscope gâche ça, mais c'est le cas.
Il serait probablement utile d'autoriser les requêtes localhost (soit configurable, soit par une balise @allow_localhost , ou les deux).
Cela devrait être résolu par 2ed9c3c318305ee39fa054997da1b67c1413a408.
J'ai le même problème sur la version 1.11.3, avec le test des requêtes rspec avec :js => true (capybara, sélénium).
GET http://localhost:9887/__identify__
.J'ai surmonté cela en définissant c.allow_http_connections_when_no_cassette = true
dans certaines situations.
@clyfe -- je vous recommande d'utiliser l'option de configuration c.ignore_localhost = true
place ; c'est spécialement prévu pour ça.
@myronmarston Merci pour c.ignore_localhost = true
, cela m'a aidé. Mais je voulais enregistrer un service local. Alors d'abord je l'ai enregistré puis j'ai changé d'hôte dans la cassette.
Commentaire le plus utile
@clyfe -- je vous recommande d'utiliser l'option de configuration
c.ignore_localhost = true
place ; c'est spécialement prévu pour ça.