以json和字符串格式获取Har数据

时间:2016-06-09 15:43:18

标签: java selenium-webdriver har browsermob-proxy

我编写了一个从firefox浏览器中获取har数据的类。

我想以JSON格式获取har数据以便正确显示。

我的代码:

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();

任何人都可以帮助我以JSON格式和字符串获取HAR数据!

1 个答案:

答案 0 :(得分:1)

对不起,迟到了。

希望它可以帮助其他人。

您可以使用StringWriter将Har写入String。所以你可以把har作为字符串。并且,您可以使用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());