我使用此代码来检测在使用ChromeDriver:执行自动UI测试时记录的控制台错误
public static List<LogEntry> getJavaScriptErrors(Level level) {
return getDriver().manage().logs().get(LogType.BROWSER).filter(level);
}
在执行步骤之前,我想清除控制台日志,这样我只会看到由我要测试的特定操作引起的错误,而不会看到测试设置过程中的早期错误。
如何明确地清除日志中的错误?
我创建了这个方法,它清除浏览器中的控制台(前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)
}
首先,如果您想在.log文件中查看日志,可以为其设置属性。
System.setProperty("webdriver.chrome.logfile", "\path\chromeDriver.log");
之后,您可以使用以下代码将控制台日志记录设置为静默。
System.setProperty("webdriver.chrome.silentOutput", "true");