Una prueba de Ruby puede lanzar un navegador que hace sus propias llamadas AJAX. Un grabador HTTP conectado a las bibliotecas cliente de Ruby no observa automáticamente las conexiones que abre ese proceso de navegador independiente.

Un proxy de grabación orientado al navegador se sitúa en la ruta que usan esas peticiones:

browser → recording forward proxy → external service
browser → recording forward proxy → recorded response

Puffing Billy ofrece esta disposición para pruebas de navegador con Ruby. Use su integración para el controlador de navegador elegido y después defina las respuestas o las grabaciones persistentes que requiere el escenario.

Haga coincidir la petición real, incluido su método y la representación de URL que espera el proxy. La forma documentada de stub HTTPS incluye el puerto explícito, como https://api.example:443/status.

Elija qué ocurre con una petición sin coincidencia. Dejarla llegar al servicio en vivo crea un tipo de prueba; rechazarla cuando no hay grabación da a un escenario sin conexión un límite más claro. Mantenga las grabaciones lo bastante específicas para que cuerpos enviados distintos no reciban por accidente la misma respuesta prefabricada.

Para un navegador remoto, el oyente del proxy debe ser accesible desde la máquina o el contenedor de ese navegador. Localhost en el proceso del ejecutor de pruebas no identifica el mismo oyente desde otro host.

Artículos relacionados