Puffing Billy-proxyopname voor AJAX-verzoeken van de browser
Leid AJAX-verkeer uit de browser door een opnameproxy wanneer een Ruby HTTP-recorder dat netwerkpad niet kan waarnemen.
Een Ruby-test kan een browser starten die zijn eigen AJAX-aanroepen doet. Een HTTP-recorder die aan Rubys clientbibliotheken hangt, neemt niet automatisch de verbindingen waar die dat aparte browserproces opent.
Een opnameproxy gericht op de browser staat op het pad dat die verzoeken gebruiken:
browser → recording forward proxy → external service
browser → recording forward proxy → recorded responsePuffing Billy levert deze opstelling voor Ruby-browsertests. Gebruik de integratie voor de gekozen browserdriver en definieer daarna de antwoorden of blijvende opnamen die het scenario vereist.
Laat het werkelijke verzoek overeenkomen, inclusief de methode en de URL-weergave die de proxy verwacht. De gedocumenteerde HTTPS-stubvorm bevat de expliciete poort, bijvoorbeeld https://api.example:443/status.
Kies wat er gebeurt met een verzoek zonder overeenkomst. Laat je het de live dienst bereiken, dan ontstaat één soort test; weigeren wanneer er geen opname is, geeft een offlinescenario een duidelijker grens. Houd opnamen specifiek genoeg zodat verschillende verzonden bodies niet per ongeluk hetzelfde kant-en-klare antwoord krijgen.
Voor een externe browser moet de proxylistener bereikbaar zijn vanaf de machine of container van die browser. Localhost in het proces van de testrunner duidt niet dezelfde listener aan vanaf een andere host.