Puffing Billy-proxyinspelning för webbläsarens AJAX-förfrågningar
Låt AJAX-trafik från webbläsaren gå genom en inspelningsproxy när en Ruby HTTP-inspelare inte kan se den nätverksvägen.
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 responsePuffing 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.