BrowserMob înregistrează doar traficul care trece efectiv prin listenerul său. Pornirea proxy-ului lângă un browser Selenium nu pune acel browser pe traseu.

Pentru API-ul încorporat 2.1.5 documentat de BrowserMob, o configurație Java Selenium existentă poate folosi această ordine:

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

Portul 0 cere un port disponibil. ClientUtil construiește setarea de proxy Selenium din acel listener. Captura începe înainte de navigare și este preluată cât timp proxy-ul este încă disponibil.

Fragmentul presupune că tipurile BrowserMob, HAR și Selenium ale proiectului sunt deja disponibile. Captura detaliată a corpului cererii sau răspunsului este o alegere suplimentară CaptureType. Interceptarea HTTPS are nevoie și de aranjamentul prevăzut de încredere în certificat.

Pentru un browser Grid la distanță, anunțați o adresă accesibilă din mașina acelui browser. O adresă loopback pe runnerul de teste indică acolo loopback-ul altei mașini.

Aceasta capturează traseul HTTP configurat al browserului. Nu stabilește o regulă a sistemului de operare care să blocheze orice altă conexiune de ieșire.

Articole similare