Получайте журналы производительности Selenium в режиме реального времени (Java, Kotlin) - PullRequest
0 голосов
/ 30 апреля 2020

Я ищу способ получения журналов производительности селена. Я нашел способ получить записи журнала, используя код ниже:

    val loggingPrefs = LoggingPreferences()
    loggingPrefs.enable(LogType.PERFORMANCE, Level.ALL)

    val capabilities = DesiredCapabilities.chrome()
    capabilities.setCapability("goog:loggingPrefs", loggingPrefs)

    driver = RemoteWebDriver(driverService.url, capabilities)

    ...

    val logEntries = driver.manage().logs().get(LogType.PERFORMANCE)

    driver.close()
    driver.quit()

    logEntries.forEach {
        print(it.message)
    }

Но я ищу способ получить эти журналы в режиме реального времени, как поток или какой-нибудь метод обратного вызова, чтобы я мог обработайте это в реальном времени на другом потоке или сопрограмме. Буду признателен за любую помощь. Спасибо

1 Ответ

0 голосов
/ 30 апреля 2020

Вы можете сделать что-то вроде:

@Test
public void logTest() {

    new Thread(() -> {
        while(true){
            System.out.println("Logs from separate thread: " + driver.manage().logs().get(LogType.PERFORMANCE).getAll());
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }).start();

    System.out.println("Main thread is now sleeping");

    try {
        Thread.sleep(30000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...