Browsermob ничего не перехватывает с Sauce Labs через Sauce Connect

Я пытаюсь переключиться с Browserstack на Sauce Labs (первая порождает процесс зомби в докере, который вешает весь контейнер). И в то время как все, кажется, соединяется и слушает порты, HAR является нулем.

Моя настройка проста: на компьютере, на котором выполняются тесты, я запускаю BMP и SC из своего кода. Затем мой тест запускает удаленный WebDriver, который открывает веб-страницу (я использую здесь Google только в качестве примера). Затем это интернет-соединение должно быть проксировано через BMP, чтобы я мог захватить всю аналитику.

По моему опыту с BrowserStack это сработало. Однако в той же самой установке с Sauce Labs я ничего не перехватываю.

@BeforeClass
public void SetUp() {
    SauceConnectFourManager = new SauceConnectFourManager(true);
    browserMobProxyServer = new BrowserMobProxyServer();
    browserMobProxyServer.setTrustAllServers(true);
    browserMobProxyServer.start(9191);
    browserMobProxyServer.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.RESPONSE_CONTENT);

    try {
        SauceConnectFourManager.openConnection(username, key,4445,
                null, "-v --pac file://" + filePath,
                null, false, null);
    } catch (IOException e) {
        e.printStackTrace();
    }

    DesiredCapabilities caps = DesiredCapabilities.chrome();
    caps.setCapability("platform", "Windows 10");
    caps.setCapability("version", "latest");
    String url = "https://" + username + ":" + key + "@ondemand.saucelabs.com:443/wd/hub";
    try {
        driver = new RemoteWebDriver(new URL(url), caps);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
}

@Test
public void TestShouldPass() {
    /**
     * Goes to Google's page just as an example
     */

    driver.get("https://google.com");
    System.out.println("title of page is: " + driver.getTitle());
}

@AfterClass
public void TearDown() {
    driver.quit();
    SauceConnectFourManager.closeTunnelsForPlan(username, null, null);
    //har is null here!
    Har har = browserMobProxyServer.getHar();
    FileOutputStream fos;
    try {
        fos = new FileOutputStream("debug.har");
        har.writeTo(fos);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    browserMobProxyServer.stop();
}

0 ответов

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