我正在使用 Selenium+TestNG+Java 设计一个自动化框架。 我想检查浏览器日志,如果执行任何测试时有任何 SEVERE 日志,则应将测试标记为 FAIL。
我能够确定获取浏览器日志的方式并将其添加到我的内部记录器中。
public void analyzeBrowserLogs() {
String type = "browser";
List<LogEntry> entries = driver.manage().logs().get(type).getAll();
System.out.println(entries.size() + " " + type + " log entries found");
for (LogEntry entry : entries) {
//if(entry.getMessage().contains("SEVERE"))
System.out.println(new Date(entry.getTimestamp()) + " " + entry.getLevel() + " " + entry.getMessage());
}
}
我陷入困境,如何在执行测试用例时不断检查日志,如果日志中发生任何严重错误,我需要将相应的测试状态标记为“失败”。
如果我能够设计这个记录器功能,这将是对我的框架的一个很好的补充。
最佳答案
在浏览器基本上运行测试时持续轮询日志不仅是一种过度杀伤力,而且还可能导致不稳定的结果。
因此,在测试运行时,不建议同时从浏览器获取轮询日志。
你应该做的是:
关于java - 获取浏览器日志,如果浏览器控制台有任何严重日志,则使 TestNG 测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58082502/