Получение пустого хар-файла с помощью браузера Chrome
Использовали следующие банки:
BMP: 2.1.5
Селен-Version: 3,14
Версия Chrome: 74
Chrome Driver: 2.37
Но файл har не захватывает сетевой трафик
Пробовал и для https, и для http, но получал файл har с содержимым ниже.
({"log": {"version": "1.2", "creator": {"name": "Прокси BrowserMob", "version": "2.1.5", "comment": ""}, "pages" : [{ "ID": "BMP.har", "startedDateTime": "2019-05-27T06: 33: 24.278Z", "название": "BMP.har", "pageTimings": { "комментарий":» "}," комментарий ":" "}]," записи ": []," комментарий ":" "}}
)
открытый класс BrowserMob {
public static WebDriver driver;
public static BrowserMobProxyServer proxy;
public static void main(String [] args) {
System.setProperty("webdriver.chrome.driver","C:\\Users\\212744776\\eclipse-workspace\\Browser-Mob\\resources\\chromedriver.exe");
proxy = new BrowserMobProxyServer();
proxy.setMitmDisabled(true);
proxy.setTrustAllServers(true);
proxy.setHarCaptureTypes(CaptureType.getAllContentCaptureTypes());
proxy.enableHarCaptureTypes(CaptureType.getAllContentCaptureTypes());
proxy.start();
Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxy);
try {
String hostIp = Inet4Address.getLocalHost().getHostAddress();
seleniumProxy.setHttpProxy(hostIp + ":" + proxy.getPort());
seleniumProxy.setSslProxy(hostIp + ":" + proxy.getPort());
} catch (UnknownHostException e) {
e.printStackTrace();
Assert.fail("invalid Host Address");
}
ChromeOptions options = new ChromeOptions();
DesiredCapabilities capabilities = new DesiredCapabilities();
options.addArguments("--ignore-certificates-errors");
capabilities.setCapability(ChromeOptions.CAPABILITY, capabilities);
capabilities.setCapability(CapabilityType.PROXY, seleniumProxy);
driver = new ChromeDriver(options);
proxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);
try {
proxy.newHar("BMP.har");
driver.get("https://10.12.42.121/");
//driver.get("https://google.com");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(proxy.getHar().getLog().getEntries().size());
Har har = proxy.getHar();
File harFile = new File("BMPTraffic.har");
har.writeTo(harFile);
} catch (IOException ioe) {
ioe.printStackTrace();
}
driver.quit();
proxy.stop();
}
}