Ein Ruby-Test kann einen Browser starten, der eigene AJAX-Aufrufe ausführt. Ein HTTP-Recorder, der an Rubys Client-Bibliotheken hängt, beobachtet nicht automatisch die Verbindungen, die dieser separate Browserprozess öffnet.

Ein browserzugewandter Aufzeichnungsproxy sitzt auf dem Pfad, den diese Anfragen nutzen:

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

Puffing Billy stellt diese Anordnung für Ruby-Browsertests bereit. Verwenden Sie die Integration für den gewählten Browsertreiber und definieren Sie dann die Antworten oder dauerhaften Aufzeichnungen, die das Szenario benötigt.

Treffen Sie die tatsächliche Anfrage, einschließlich Methode und der vom Proxy erwarteten URL-Darstellung. Die dokumentierte HTTPS-Stub-Form enthält den expliziten Port, etwa https://api.example:443/status.

Wählen Sie, was mit einer nicht passenden Anfrage geschieht. Lässt man sie den Live-Dienst erreichen, entsteht eine Art von Test; lehnt man sie ab, wenn keine Aufzeichnung existiert, bekommt ein Offline-Szenario eine klarere Grenze. Halten Sie Aufzeichnungen spezifisch genug, damit unterschiedliche gesendete Bodies nicht versehentlich dieselbe vorgefertigte Antwort erhalten.

Für einen entfernten Browser muss der Proxy-Listener von der Maschine oder dem Container dieses Browsers erreichbar sein. Localhost im Prozess des Testläufers bezeichnet nicht denselben Listener von einem anderen Host aus.

Ähnliche Artikel