Um teste Ruby pode iniciar um navegador que faz as suas próprias chamadas AJAX. Um gravador HTTP ligado às bibliotecas cliente do Ruby não observa automaticamente as ligações abertas por esse processo de navegador separado.

Um proxy de gravação voltado para o navegador fica no caminho usado por esses pedidos:

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

O Puffing Billy fornece esta disposição para testes de navegador em Ruby. Use a sua integração para o controlador de navegador escolhido e depois defina as respostas ou as gravações persistentes exigidas pelo cenário.

Faça corresponder o pedido real, incluindo o método e a representação de URL que o proxy espera. A forma de stub HTTPS documentada inclui a porta explícita, como https://api.example:443/status.

Escolha o que acontece a um pedido sem correspondência. Deixá-lo chegar ao serviço em direto cria um tipo de teste; rejeitá-lo quando não existe gravação dá a um cenário offline um limite mais claro. Mantenha as gravações suficientemente específicas para que corpos enviados diferentes não recebam por acidente a mesma resposta pré-preparada.

Para um navegador remoto, o ouvinte do proxy tem de estar acessível a partir da máquina ou do contentor desse navegador. Localhost no processo do executor de testes não identifica o mesmo ouvinte a partir de outro anfitrião.

Artigos relacionados