Не удается захватить запрос и ответ HAR с помощью BrowserMob-Proxy (PhantomJS)

Я не могу захватить запрос и ответ с помощью браузера (браузер selenium + PhantomJS)

пожалуйста, обратитесь к образцу кода

server = new BrowserMobProxyServer();
server.start(0);
server.newHar("contracts"); 

Возможности:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setJavascriptEnabled(true);  capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,
     new String[] {"--web-security=false", "--ssl-protocol=any", 
                    "--ignore-ssl-errors=yes"});
capabilities.setCapability("takeScreenshot", true);
URL hubUrl = new URL("http://152.188.0.42:5555/wd/hub");
server.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);

запуск приложения:

driver = new RemoteWebDriver(hubUrl,capabilities);
driver.get("http://www.google.com");

Создание хар-файла:

Har har = server.getHar();
FileOutputStream fos = new FileOutputStream("runnowNew.har");
har.writeTo(fos);

Har, который создается с помощью приведенного выше кода:

{
  "log":
  {
     "version":"1.2",
     "creator":{"name":"BrowserMob Proxy","version":"2.1.2","comment":""},
     "pages":[{"id":"contracts","startedDateTime":"2016-10-05T12:56:33.460+05:30","title":"contracts","pageTimings":{"comment":""},"comment":""}],
     "entries":[],
     "comment":""
  }
}

person sailaja.p    schedule 05.10.2016    source источник
comment
Вы устанавливаете возможность PROXY в любом месте объекта capabilities? Если нет, PhantomJS не будет знать, что ему нужно использовать прокси.   -  person Jason Hoetger    schedule 08.10.2016


Ответы (1)


Я думаю, проблема в том, что вы не используете BrowserMob Proxy в качестве прокси для трафика Selenium. Вам нужно установить прокси Selenium (ip и порт) на тот, который настроен в BrowserMob Proxy. IP-адрес, вероятно, 127.0.0.1, поскольку вы работаете локально, и вы можете использовать server.getPort(), чтобы получить порт, который прослушивает BrowserMob Proxy.

person Idan Slonimsky    schedule 12.12.2016