控制台日志仅显示失败的请求

时间:2021-03-24 09:18:39

标签: java selenium testing logging automated-tests

在我的自动化测试期间,我试图从我的控制台日志中获取一个 url,但由于某种原因,它只在我的打印输出中显示了所有控制台错误。如何显示控制台日志中的所有内容,然后选择我想要的 url。我试过 Server , Cl​​ient , Performance 和 Driver ,但没有从它们那里得到任何东西,对在控制台中拉出任何 apis/url 有什么帮助吗?我使用的代码:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    options.addArguments("disable-infobars");
    options.addArguments("--disable-extensions");
    options.addArguments("--window-size=1920x1080");
    options.addArguments("--disable-cache");
    //options.addArguments("--headless");
    options.addArguments("--disable-application-cache");
    options.addArguments("--disk-cache-size=0");
    options.addArguments("--disable-gpu"); // applicable to windows os only
    options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
    options.addArguments("--dns-prefetch-disable");
    LoggingPreferences logPrefs = new LoggingPreferences();
    logPrefs.enable(LogType.BROWSER, Level.INFO);
    options.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
    //options.addArguments("--no-sandbox"); // Bypass OS security model
    options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
    driver = new ChromeDriver(options);


public static void analyzeLog() {

    LogEntries entry = driver.manage().logs().get(LogType.BROWSER);
    // Retrieving all log
    List<LogEntry> logs= entry.getAll();
    // Print one by one
    for(LogEntry e: logs)
    {
        System.out.println(e);
    }

    // Printing details separately
    for(LogEntry e: logs)
    {
        System.out.println("Message is: " +e.getMessage());
        System.out.println("Level is: " +e.getLevel());
    }



}

1 个答案:

答案 0 :(得分:0)

我相信浏览器的控制台日志默认只显示错误,这就是为什么你只看到它们。加载的网址不会去那里。

可能您还需要另一个LogType?我这边没有设置,但可能尝试启用所有 LogType.CLIENTLogType.SERVERLogType.DRIVER,看看是否有您需要的东西。如果是这样,请尝试一一关闭,看看哪个是合适的 LogType