Ett Ruby-test kan starta en webbläsare som gör egna AJAX-anrop. En HTTP-inspelare kopplad till Rubys klientbibliotek observerar inte automatiskt de anslutningar som den separata webbläsarprocessen öppnar.

En inspelningsproxy riktad mot webbläsaren sitter på den väg som dessa förfrågningar använder:

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

Puffing Billy tillhandahåller denna uppställning för Ruby-webbläsartester. Använd dess integration för den valda webbläsardrivrutinen och definiera sedan de svar eller beständiga inspelningar som scenariot kräver.

Matcha den faktiska förfrågan, inklusive metoden och den URL-representation som proxyn förväntar sig. Den dokumenterade HTTPS-stubformen innehåller den uttryckliga porten, till exempel https://api.example:443/status.

Välj vad som händer med en förfrågan utan matchning. Att låta den nå den live-tjänsten ger en typ av test; att avvisa den när ingen inspelning finns ger ett offlinescenario en tydligare gräns. Håll inspelningarna tillräckligt specifika så att olika skickade kroppar inte av misstag får samma färdiga svar.

För en fjärrwebbläsare måste proxyläsaren vara nåbar från den webbläsarens maskin eller container. Localhost i testlöparens process identifierar inte samma lyssnare från en annan värd.

Relaterade artiklar