Start BrowserMob HAR-opptak før Selenium-navigering
Sett BrowserMob i nettleserens rute, start HAR-opptaket før navigeringen og hent opptaket før proxyen stoppes.
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.