BrowserMob hanya merekod trafik yang benar-benar melalui listenernya. Memulakan proksi di sebelah pelayar Selenium tidak meletakkan pelayar itu pada laluan.

Untuk API terbenam 2.1.5 yang didokumenkan BrowserMob, persediaan Java Selenium sedia ada boleh menggunakan 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 membina tetapan proksi Selenium daripada listener itu. Rakaman bermula sebelum navigasi dan diambil semasa proksi masih tersedia.

Serpihan ini menganggap jenis BrowserMob, HAR dan Selenium projek sudah tersedia. Rakaman terperinci badan permintaan atau respons ialah pilihan CaptureType tambahan. Pemintasan HTTPS juga memerlukan susunan kepercayaan sijil yang dimaksudkan.

Untuk pelayar Grid jauh, iklankan alamat yang boleh dicapai dari mesin pelayar itu. Alamat loopback pada pelari ujian di sana menandakan loopback mesin lain.

Ini merakam laluan HTTP pelayar yang dikonfigurasikan. Ia tidak menetapkan peraturan sistem pengendalian yang menyekat setiap sambungan keluar yang lain.

Artikel berkaitan