【问题标题】: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");
      

      【讨论】:

        猜你喜欢
        • 2021-12-10
        • 2011-02-28
        相关资源
        最近更新 更多