Starta BrowserMob HAR-capture före Selenium-navigering
Placera BrowserMob i webbläsarens väg, börja HAR-capturen före navigeringen och hämta capturen innan proxyn stoppas.
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.