Start BrowserMob HAR-optagelse før Selenium-navigation
Sæt BrowserMob ind i browserens rute, begynd HAR-optagelsen før navigation, og hent optagelsen før proxyen stoppes.
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.