有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

实时获取Selenium性能日志(Java、Kotlin)

我正在寻找获取selenium性能日志的方法。我发现了一种使用以下代码获取日志条目的方法:

    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) 个答案

  1. # 1 楼答案

    你可以这样做:

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