我想通过APPIUM获取特定标签(例如:testing_aws)的ADB logcats。实际上,我是直接从控制台执行以下操作的
adb shell logcat | grep testing_aws
,该命令已成功获得预期的数据List<LogEntry> adbLogs
=driver().manage().logs().get("logcat").filter(Level.ALL);
之类的一些解决方案,它将提供完整的设备日志,但是我找不到一种使用特定标签进行过滤的方法(例如:testing_aws)答案 0 :(得分:2)
您可以先获取所有日志
List<LogEntry> logEntries = driver.manage().logs().get("logcat").filter(Level.ALL);
然后您可以过滤您的日志。
for (LogEntry logEntry : logEntries) {
if (logEntry.getMessage().contains("testing_aws")) {
System.out.println(logEntry.getMessage());
}
}
如果要将过滤后的日志添加到文件中,可以按照以下步骤进行操作:
List<LogEntry> logEntries = driver.manage().logs().get("logcat").filter(Level.ALL);
File logFile = new File("path to store file"+"filename"+".txt");
logFile.getParentFile().mkdirs();
PrintWriter log_file_writer = new PrintWriter(logFile);
for (LogEntry logEntry : logEntries) {
if (logEntry.getMessage().contains("testing_aws")) {
log_file_writer.println(logEntry);
}
}
log_file_writer.flush();