Sebuah tes Ruby dapat meluncurkan browser yang membuat panggilan AJAX sendiri. Perekam HTTP yang terpasang pada pustaka klien Ruby tidak otomatis mengamati koneksi yang dibuka oleh proses browser terpisah itu.

Proxy perekam yang menghadap browser berada di jalur yang digunakan permintaan tersebut:

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

Puffing Billy menyediakan susunan ini untuk tes browser Ruby. Gunakan integrasinya untuk driver browser yang dipilih, lalu tentukan respons atau rekaman permanen yang dibutuhkan skenario.

Cocokkan permintaan sebenarnya, termasuk metode dan representasi URL yang diharapkan proxy. Bentuk stub HTTPS yang didokumentasikan menyertakan port eksplisit, misalnya https://api.example:443/status.

Pilih apa yang terjadi pada permintaan tanpa kecocokan. Membiarkannya mencapai layanan langsung menghasilkan satu jenis tes; menolaknya ketika tidak ada rekaman memberi skenario offline batas yang lebih jelas. Jaga rekaman cukup spesifik agar isi permintaan yang berbeda tidak secara tidak sengaja menerima satu jawaban siap pakai yang sama.

Untuk browser jarak jauh, pendengar proxy harus dapat dijangkau dari mesin atau kontainer browser tersebut. Localhost dalam proses test runner tidak mengidentifikasi pendengar yang sama dari host lain.

Artikel terkait