【问题标题】:How to clear console errors using Selenium如何使用 Selenium 清除控制台错误
【发布时间】:2018-12-26 12:17:24
【问题描述】:
我正在使用此代码检测使用 ChromeDriver 执行自动化 UI 测试时记录的控制台错误:
public static List<LogEntry> getJavaScriptErrors(Level level) {
return getDriver().manage().logs().get(LogType.BROWSER).filter(level);
}
在执行步骤之前,我想清除控制台日志,因此我只看到由我要测试的特定操作引起的错误,而不是测试设置期间的早期错误。
如何明确清除日志中的错误?
【问题讨论】:
标签:
java
selenium
automated-tests
selenium-chromedriver
ui-automation
【解决方案1】:
我创建了这个方法,它清除浏览器中的控制台(前 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)
}
【解决方案2】:
首先,如果您想在 .log 文件中查看日志,您可以为其设置属性。
System.setProperty("webdriver.chrome.logfile", "\\path\\chromeDriver.log");
之后,您可以使用以下代码将控制台日志记录设置为静默。
System.setProperty("webdriver.chrome.silentOutput", "true");