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-шлях браузера. Воно не створює правило операційної системи, яке блокує будь-яке інше вихідне з'єднання.

Схожі статті