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

时间:2018-07-18 14:16:26

标签: java selenium automated-tests selenium-chromedriver ui-automation

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

我创建了此方法,该方法清除浏览器中的控制台(前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)
}