BrowserMob só rexistra o tráfico que pasa realmente polo seu listener. Iniciar o proxy xunto a un navegador Selenium non pon ese navegador na ruta.

Para a API integrada 2.1.5 documentada de BrowserMob, unha configuración Java Selenium existente pode usar esta orde:

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();
}

O porto 0 pide un porto dispoñible. ClientUtil constrúe a configuración de proxy de Selenium a partir dese listener. A captura comeza antes da navegación e recupérase mentres o proxy aínda está dispoñible.

O fragmento supón que os tipos BrowserMob, HAR e Selenium do proxecto xa están dispoñibles. A captura detallada do corpo da petición ou da resposta é unha escolla adicional de CaptureType. A interceptación HTTPS tamén necesita a súa disposición prevista de confianza no certificado.

Para un navegador Grid remoto, anuncie un enderezo accesible desde a máquina dese navegador. Un enderezo de loopback no executador de probas identifica alí o loopback doutra máquina.

Isto captura a ruta HTTP configurada do navegador. Non establece unha regra do sistema operativo que bloquee calquera outra conexión de saída.

Artigos relacionados