BrowserMob registrerer bare trafikk som faktisk går gjennom listeneren. Å starte proxyen ved siden av en Selenium-nettleser setter ikke den nettleseren på ruten.

For BrowserMobs dokumenterte innebygde 2.1.5-API kan et eksisterende Java Selenium-oppsett bruke denne rekkefølgen:

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 ber om en ledig port. ClientUtil bygger Selenium-proxyinnstillingen fra den listeneren. Opptaket starter før navigeringen og hentes mens proxyen fortsatt er tilgjengelig.

Utdraget forutsetter at prosjektets BrowserMob-, HAR- og Selenium-typer allerede er tilgjengelige. Detaljert opptak av forespørsels- eller svartekst er et ekstra CaptureType-valg. HTTPS-avlytting trenger også sin tiltenkte sertifikattillitsordning.

For en ekstern Grid-nettleser, annonser en adresse som kan nås fra maskinen til den nettleseren. En loopback-adresse på testkjøreren identifiserer der loopbacken til en annen maskin.

Dette tar opp nettleserens konfigurerte HTTP-rute. Det etablerer ikke en operativsystemregel som blokkerer enhver annen utgående forbindelse.

Relaterte artikler