BrowserMob registreert alleen verkeer dat daadwerkelijk door zijn listener gaat. De proxy naast een Selenium-browser starten zet die browser niet op de route.

Voor de gedocumenteerde ingebouwde 2.1.5-API van BrowserMob kan een bestaande Java Selenium-opstelling deze volgorde gebruiken:

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();
}

Poort 0 vraagt om een vrije poort. ClientUtil bouwt de Selenium-proxyinstelling op basis van die listener. De opname begint vóór de navigatie en wordt opgehaald terwijl de proxy nog beschikbaar is.

Het fragment veronderstelt dat de BrowserMob-, HAR- en Selenium-typen van het project al beschikbaar zijn. Gedetailleerde opname van de aanvraag- of antwoordbody is een extra CaptureType-keuze. HTTPS-onderschepping vereist ook de bedoelde certificaatvertrouwensregeling.

Voor een externe Grid-browser, adverteer een adres dat bereikbaar is vanaf de machine van die browser. Een loopbackadres op de testrunner wijst daar op de loopback van een andere machine.

Dit legt de geconfigureerde HTTP-route van de browser vast. Het stelt geen besturingssysteemregel in die elke andere uitgaande verbinding blokkeert.

Gerelateerde artikelen