BrowserMob registrerar bara trafik som faktiskt passerar genom dess listener. Att starta proxyn bredvid en Selenium-webbläsare sätter inte den webbläsaren på vägen.

För BrowserMobs dokumenterade inbäddade 2.1.5-API kan en befintlig Java Selenium-konfiguration använda den här ordningen:

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 begär en ledig port. ClientUtil bygger Selenium-proxyinställningen från den listenern. Capturen börjar före navigeringen och hämtas medan proxyn fortfarande är tillgänglig.

Utdraget förutsätter att projektets BrowserMob-, HAR- och Selenium-typer redan är tillgängliga. Detaljerad capture av förfrågnings- eller svarskroppen är ett extra CaptureType-val. HTTPS-avlyssning behöver också sin avsedda certifikatförtroendeordning.

För en fjärransluten Grid-webbläsare, annonsera en adress som går att nå från den webbläsarens maskin. En loopback-adress på testköraren anger där en annan maskins loopback.

Detta fångar webbläsarens konfigurerade HTTP-väg. Det upprättar ingen operativsystemregel som blockerar varje annan utgående anslutning.

Relaterade artiklar