Запустите запись HAR в BrowserMob до навигации Selenium
Поместите BrowserMob в маршрут браузера, начните запись HAR до навигации и получите запись до остановки прокси.
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-маршрут браузера. Оно не создаёт правило операционной системы, блокирующее любое другое исходящее соединение.