Puffing Billy-proxyoptagelse til browserens AJAX-anmodninger
Send AJAX-trafik fra browseren gennem en optagelsesproxy, når en Ruby HTTP-optager ikke kan se den netværksvej.
En Ruby-test kan starte en browser, der selv foretager AJAX-kald. En HTTP-optager knyttet til Rubys klientbiblioteker ser ikke automatisk de forbindelser, som den separate browserproces åbner.
En optagelsesproxy vendt mod browseren ligger på den vej, som disse anmodninger bruger:
browser → recording forward proxy → external service
browser → recording forward proxy → recorded responsePuffing Billy leverer denne opsætning til Ruby-browsertests. Brug integrationen til den valgte browserdriver, og definer derefter de svar eller varige optagelser, som scenariet kræver.
Match den faktiske anmodning, inklusive metoden og den URL-repræsentation, som proxyen forventer. Den dokumenterede HTTPS-stubform indeholder den eksplicitte port, f.eks. https://api.example:443/status.
Vælg, hvad der sker med en anmodning uden match. Lader du den nå den kørende tjeneste, giver det én slags test; afvisning, når der ikke findes en optagelse, giver et offline-scenarie en klarere grænse. Hold optagelserne tilstrækkeligt specifikke, så forskellige indsendte bodies ikke ved et uheld får samme færdige svar.
For en fjernbrowser skal proxylytteren kunne nås fra den browsers maskine eller container. Localhost i testkørerens proces identificerer ikke den samme lytter fra en anden vært.