如何使用 Selenium 清除控制台错误

How to clear console errors using Selenium

我正在使用此代码来检测在使用 ChromeDriver 执行自动 UI 测试时记录的控制台错误:

public static List<LogEntry> getJavaScriptErrors(Level level) {
    return getDriver().manage().logs().get(LogType.BROWSER).filter(level);
}

在执行步骤之前,我想清除控制台日志,这样我只能看到由我要测试的特定操作引起的错误,而不是测试设置期间的早期错误。

如何明确清除日志中的错误?

首先,如果您想在 .log 文件中查看日志,您可以为其设置 属性。

System.setProperty("webdriver.chrome.logfile", "\path\chromeDriver.log");

之后,您可以使用以下代码将控制台日志记录设置为静默。

System.setProperty("webdriver.chrome.silentOutput", "true");

我创建了这个方法来清除浏览器中的控制台(前 3 行)并清除返回到 Selenium 的日志(最后一行)。

public void clearConsoleErrors(){
    JavascriptExecutor js = (JavascriptExecutor)getDriver();
    String script = "console.clear();";
    js.executeScript(script);
    getDriver().manage().logs().get(LogType.BROWSER).filter(Level.ALL)
}