Iniciar a captura HAR do BrowserMob antes da navegação do Selenium
Coloque o BrowserMob na rota do navegador, inicie a captura HAR antes da navegação e obtenha a captura antes de parar o proxy.
O BrowserMob só registra o tráfego que realmente passa pelo seu listener. Iniciar o proxy ao lado de um navegador Selenium não coloca esse navegador na rota.
Para a API embutida 2.1.5 documentada do BrowserMob, uma configuração Java Selenium existente pode usar esta ordem:
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();
}A porta 0 pede uma porta disponível. O ClientUtil constrói a configuração de proxy do Selenium a partir desse listener. A captura começa antes da navegação e é obtida enquanto o proxy ainda está disponível.
O trecho presume que os tipos BrowserMob, HAR e Selenium do projeto já estão disponíveis. A captura detalhada do corpo da requisição ou da resposta é uma escolha adicional de CaptureType. A interceptação HTTPS também precisa do seu arranjo previsto de confiança no certificado.
Para um navegador Grid remoto, anuncie um endereço alcançável a partir da máquina desse navegador. Um endereço de loopback no executor de testes indica ali o loopback de outra máquina.
Isto captura a rota HTTP configurada do navegador. Não estabelece uma regra do sistema operacional que bloqueie qualquer outra conexão de saída.