Un test Ruby può avviare un browser che effettua le proprie chiamate AJAX. Un registratore HTTP collegato alle librerie client di Ruby non osserva automaticamente le connessioni aperte da quel processo del browser separato.

Un proxy di registrazione rivolto al browser si trova sul percorso usato da quelle richieste:

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

Puffing Billy fornisce questa configurazione per i test del browser in Ruby. Usa la sua integrazione per il driver del browser scelto, poi definisci le risposte o le registrazioni persistenti richieste dallo scenario.

Fai corrispondere la richiesta effettiva, incluso il metodo e la rappresentazione URL attesa dal proxy. La forma stub HTTPS documentata include la porta esplicita, ad esempio https://api.example:443/status.

Scegli cosa accade a una richiesta senza corrispondenza. Lasciarla raggiungere il servizio live produce un tipo di test; rifiutarla quando non esiste una registrazione dà a uno scenario offline un confine più chiaro. Mantieni le registrazioni abbastanza specifiche perché corpi inviati diversi non ricevano per caso la stessa risposta preconfezionata.

Per un browser remoto, il listener del proxy deve essere raggiungibile dalla macchina o dal container di quel browser. Localhost nel processo del test runner non identifica lo stesso listener da un altro host.

Articoli correlati