Плагин Browsermob rest - Как избежать шифрования части файла har?

Я использую прокси-сервер browsermob, интегрируемый с тестом JUnit, чтобы получить сетевой трафик, который экспортируется в виде файла har. Я могу получить свой файл har успешно, однако есть один раздел "текст", который шифруется. Как я могу избежать этого в моем файле har? Может кто-нибудь мне помочь?

Ниже мой тест Junit:

package DataAnalytics.Events;

import BaseTests.BaseTest;
import common.Application;
import java.io.File;
import java.net.UnknownHostException;
import java.util.concurrent.TimeUnit;
import net.lightbody.bmp.BrowserMobProxyServer;
import net.lightbody.bmp.client.ClientUtil;
import net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager;
import net.lightbody.bmp.proxy.CaptureType;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.Story;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

@Story(Application.Example.Examples.class)
@RunWith(SerenityRunner.class)
public class BrowserMobExample extends BaseTest {
    String strFilePath = "pathToGenerateHarFile";
    static String driverPath = "pathToYourChromeDriver";

@Test
public void main() throws Exception {

    BrowserMobProxyServer browserMobProxy = new BrowserMobProxyServer();
    browserMobProxy.setTrustAllServers(true);
    browserMobProxy.setMitmManager(
            ImpersonatingMitmManager.builder().trustAllServers(true).build());
    browserMobProxy.start(0);

    System.out.println("Port Started On: " + browserMobProxy.getPort());
    browserMobProxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT,
            CaptureType.RESPONSE_CONTENT, CaptureType.RESPONSE_HEADERS);

    WebDriver driver = getDriver_CapProxy(browserMobProxy);

    browserMobProxy.newHar("11");
    driver.navigate().to("https://www.google.com");
    Thread.sleep(15000);

    driver.quit();

    browserMobProxy.stop();

    browserMobProxy.getHar().writeTo(new File(strFilePath));

    System.out.println("Loaded browser ");
}

public static WebDriver getDriver_CapProxy(BrowserMobProxyServer browserMobProxy)
        throws UnknownHostException {
    Proxy proxy = ClientUtil.createSeleniumProxy(browserMobProxy);
    proxy.setHttpProxy("localhost:" + browserMobProxy.getPort());
    proxy.setProxyType(Proxy.ProxyType.MANUAL);
    proxy.setSslProxy("localhost:" + browserMobProxy.getPort());
    DesiredCapabilities cap = DesiredCapabilities.chrome();

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--ignore-certificate-errors");
    cap.setCapability(ChromeOptions.CAPABILITY, options);
    cap.setCapability(CapabilityType.PROXY, proxy);

    WebDriver driver = new ChromeDriver(cap);

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    return driver;
}
}

Ниже приведен пример моего файла har:

"content": {"size": 1599, "mimeType": "text / html", "text": "\ n \ u000B \ n \ tTranslate \u0012\u0012\bٌ \t\u0012 \ u0012 \ RS?\u0015j?

Моя maven зависимость:

<dependency>
        <groupId>net.lightbody.bmp</groupId>
        <artifactId>browsermob-rest</artifactId>
        <version>2.1.5</version>
    </dependency>

0 ответов

Другие вопросы по тегам