Vcr: VCR no funciona bien con Selenium (y Capybara)

Creado en 9 mar. 2010  ·  5Comentarios  ·  Fuente: vcr/vcr

Cuando pongo una etiqueta de casete en un pepino que aparece etiquetado con @javascript (lo que hace que Capybara use el controlador de selenio), comienzan a suceder cosas extrañas ...

La primera vez que lo ejecuto, todo sucede como se esperaba: el casete graba, se usan los datos y todo pasa.

La próxima vez que lo ejecute (fuera del casete), falla con la solicitud no registrada: GET http: // localhost : 9887 / identify .

Parece que Selenium necesita hablar con su servidor usando ese puerto (haciendo ping para ver si existe, en este caso). No estoy exactamente seguro de cómo la videograbadora está arruinando eso, pero lo es.

Probablemente sería útil permitir las solicitudes de localhost (ya sea configurable o mediante una etiqueta @allow_localhost , o ambas).

Comentario más útil

@clyfe - Te recomiendo que uses la opción de configuración c.ignore_localhost = true lugar; está diseñado específicamente para esto.

Todos 5 comentarios

Esto debería resolverse mediante 2ed9c3c318305ee39fa054997da1b67c1413a408.

Tengo el mismo problema en la versión 1.11.3, con la prueba de solicitudes de rspec con: js => true (capibara, selenium).

  • La primera vez que lo ejecuto, todo sucede como se esperaba: el casete graba, se usan los datos y todo pasa.
  • La próxima vez que lo ejecute (fuera del casete), falla con una solicitud no registrada: GET http://localhost:9887/__identify__ .

Superé esto configurando c.allow_http_connections_when_no_cassette = true en algunas situaciones.

@clyfe - Te recomiendo que uses la opción de configuración c.ignore_localhost = true lugar; está diseñado específicamente para esto.

@myronmarston Gracias por c.ignore_localhost = true , me ayudó. Pero quería grabar un servicio local. Así que primero lo grabé y luego cambié de host en el casete.

¿Fue útil esta página
0 / 5 - 0 calificaciones