BrowserMob hanya mencatat lalu lintas yang benar-benar melewati listener-nya. Menjalankan proksi di samping browser Selenium tidak menempatkan browser itu pada jalur.

Untuk API tersemat 2.1.5 yang didokumentasikan BrowserMob, penyiapan Java Selenium yang ada dapat memakai urutan ini:

BrowserMobProxy proxy = new BrowserMobProxyServer();
proxy.start(0);
try {
    ChromeOptions options = new ChromeOptions();
    options.setProxy(ClientUtil.createSeleniumProxy(proxy));
    WebDriver driver = new ChromeDriver(options);
    try {
        proxy.newHar("example-page");
        driver.get("http://www.example.com/");
        Har capture = proxy.getHar();
        capture.writeTo(new java.io.File("page.har"));
    } finally {
        driver.quit();
    }
} finally {
    proxy.stop();
}

Port 0 meminta port yang tersedia. ClientUtil membangun pengaturan proksi Selenium dari listener tersebut. Perekaman dimulai sebelum navigasi dan diambil selagi proksi masih tersedia.

Fragmen ini mengasumsikan tipe BrowserMob, HAR, dan Selenium proyek sudah tersedia. Perekaman detail badan permintaan atau respons adalah pilihan CaptureType tambahan. Intersepsi HTTPS juga memerlukan pengaturan kepercayaan sertifikat yang dimaksudkan.

Untuk browser Grid jarak jauh, iklankan alamat yang dapat dijangkau dari mesin browser tersebut. Alamat loopback pada runner pengujian menunjuk loopback mesin lain di sana.

Ini merekam jalur HTTP browser yang dikonfigurasi. Ini tidak menetapkan aturan sistem operasi yang memblokir setiap koneksi keluar lainnya.

Artikel terkait