En Ruby-test kan starte en nettleser som gjør sine egne AJAX-kall. En HTTP-opptaker knyttet til Rubys klientbiblioteker observerer ikke automatisk forbindelsene som den separate nettleserprosessen åpner.

En opptaksproxy vendt mot nettleseren ligger på veien disse forespørslene bruker:

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

Puffing Billy leverer denne ordningen for Ruby-nettlesertester. Bruk integrasjonen for den valgte nettleserdriveren, og definer deretter svarene eller de varige opptakene scenariet krever.

Samsvar den faktiske forespørselen, inkludert metoden og URL-representasjonen proxyen forventer. Den dokumenterte HTTPS-stubformen inkluderer den eksplisitte porten, for eksempel https://api.example:443/status.

Velg hva som skjer med en forespørsel uten treff. Lar du den nå den levende tjenesten, gir det én type test; avvisning når det ikke finnes noe opptak gir et offline-scenario en klarere grense. Hold opptakene spesifikke nok til at ulike innsendte kropper ikke ved et uhell får samme ferdige svar.

For en ekstern nettleser må proxylytteren være tilgjengelig fra den nettleserens maskin eller container. Localhost i testkjøringens prosess identifiserer ikke den samme lytteren fra en annen vert.

Relaterte artikler