如何使用 Selenium 4 附带的自动驱动程序捕获 JS Eror 消息?为了在我的所有测试中使用它,我应该在 @AfterEach 中定义测试吗?或者可以用我们编写的测试类自动记录所有内容吗?我需要在 Junit5 中做什么来存储传入的报告?我正在与您分享我使用的驱动程序类,以防它有助于解决方案。感谢您的所有帮助,干得好
当我检查以前类似问题的答案时,我发现这些解决方案是针对 selenium4 之前的。例如,我知道用Selenium4不需要单独定义驱动程序。我认为这就是为什么当我尝试应用以前的方法时失败的原因。当我检查以前对类似问题的答案时,我发现这些解决方案适用于 selenium4 之前的情况。例如,我知道用Selenium4不需要单独定义驱动程序。我想这就是我尝试应用以前的方法时失败的原因。
我通过在执行完所有要测试的操作后检查浏览器日志是否为空来执行此操作:
public void assertJavascriptErrors() {
List<LogEntry> errors = driver.manage()
.logs()
.get(LogType.BROWSER)
.getAll()
.stream()
.filter(o -> o.getLevel().equals(Level.SEVERE))
.toList();
assertTrue(errors.isEmpty(), "JS errors - " + errors);
}
您也可以像这样直接从日志中读取数据。