selenium笔记之webDriver获取浏览器控制台日志
大家应该都听过或者用过sentry,非常好用和强大,有用户当时的各种环境,关联sourceMap后能定位到代码层面
(Sentry是一个开源的错误跟踪工具,帮助开发人员监控和诊断他们应用程序中的问题。
它提供实时监测、警报和分析多个平台和编程语言中的错误和异常。
Sentry可以与各种框架和服务集成,包括GitHub,JIRA,Slack等)
但是它毕竟需要前端先将sentry挂到代码上,还得部署sentry服务器接收。
那么就想了,在UI自动化走查过程中,能不能获取到日常关注的控制台中的信息报错然后检查发报警呢?
当然是可行的,话不多说上代码:
LogEntries logEntries = webDriver.manage().logs().get(LogType.BROWSER);
try {
for (LogEntry entry : logEntries) {
String message = String.valueOf(entry.getMessage());
for(int i=0;i<jsError.size();i++){
if(i == jsError.size()-1){
message = message+"ERRORURL:"+webDriver.getCurrentUrl();
logger.info("js报错为:"+message);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}