BrowserMob запісвае толькі той трафік, які сапраўды праходзіць праз яго слухач. Запуск проксі побач з браўзерам Selenium не змяшчае гэты браўзер на шлях.

Для дакументаванага ўбудаванага API 2.1.5 BrowserMob існуючая налада Java Selenium можа выкарыстаць такі парадак:

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

Порт 0 запытвае свабодны порт. ClientUtil будуе наладку проксі Selenium з гэтага слухача. Захоп пачынаецца перад навігацыяй і забіраецца, пакуль проксі яшчэ даступны.

Фрагмент мяркуе, што тыпы BrowserMob, HAR і Selenium ужо даступныя ў праекце. Падрабязны захоп цела запыту або адказу — дадатковы выбар CaptureType. Перахоп HTTPS таксама патрабуе сваёй прадугледжанай схемы даверу да сертыфіката.

Для аддаленага браўзера Grid абвясціце адрас, дасяжны з машыны гэтага браўзера. Адрас loopback на запускальніку тэстаў паказвае на loopback іншай машыны там.

Гэта захоплівае наладжаны HTTP-шлях браўзера. Яно не стварае правіла аперацыйнай сістэмы, якое блакуе ўсе іншыя зыходныя злучэнні.

Падобныя артыкулы