BrowserMob registrerer kun trafik, der faktisk passerer gennem dens listener. At starte proxyen ved siden af en Selenium-browser sætter ikke den browser på ruten.

Til BrowserMobs dokumenterede indlejrede 2.1.5-API kan en eksisterende Java Selenium-opsætning bruge denne rækkefølge:

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 beder om en ledig port. ClientUtil bygger Selenium-proxyindstillingen ud fra den listener. Optagelsen starter før navigation og hentes, mens proxyen stadig er tilgængelig.

Uddraget forudsætter, at projektets BrowserMob-, HAR- og Selenium-typer allerede er tilgængelige. Detaljeret optagelse af anmodnings- eller svarlegeme er et ekstra CaptureType-valg. HTTPS-aflytning kræver også sin tilsigtede certifikattillidsordning.

For en ekstern Grid-browser skal du annoncere en adresse, der kan nås fra den browsers maskine. En loopback-adresse på testkøreren identificerer en anden maskines loopback der.

Dette optager browserens konfigurerede HTTP-rute. Det etablerer ikke en operativsystemregel, der blokerer enhver anden udgående forbindelse.

Relaterede artikler