получить данные Har в формате json и string

Я написал класс для получения данных har из браузера Firefox.

Я хочу, чтобы данные har в формате JSON отображались правильно.

Мой код:

ProxyServer server = new ProxyServer(4444);
    server.start();

    //captures the moouse movements and navigations
    server.setCaptureHeaders(true);
    server.setCaptureContent(true);

    // get the Selenium proxy object
    Proxy proxy = server.seleniumProxy();

    // configure it as a desired capability
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(CapabilityType.PROXY, proxy);

    // start the browser up
    WebDriver driver = new FirefoxDriver(capabilities);

    // create a new HAR with the label "apple.com"
    server.newHar("yahoo.com");

    // open yahoo.com
    driver.get("http://yahoo.com");

    // get the HAR data
    net.lightbody.bmp.core.har.Har har = server.getHar();

Может ли кто-нибудь помочь мне с получением данных HAR в формате JSON и в строке!


person Abhishek Tripathi    schedule 09.06.2016    source источник


Ответы (1)


Извините за столь поздний ответ.

Надеясь, что это может помочь кому-то еще здесь.

Вы можете использовать StringWriter для записи Har в String. Таким образом, вы можете получить хар как строку. И вы можете проанализировать эту строку, используя Gson, чтобы получить объект JSON.

net.lightbody.bmp.core.har.Har har = server.getHar();

java.io.StringWriter writer = new java.io.StringWriter();
try {
            har.writeTo(writer);
        } catch (IOException e) {
            e.printStackTrace();
        }

String harAsString = writer.toString();

com.google.gson.JsonElement harAsJson = new com.google.gson.Gson().toJsonTree(writer.toString());
person Sridhar    schedule 19.05.2017