我想通过APPIUM获取特定标签(例如testing_aws(的ADB日志。事实上,我已经直接从控制台完成了这项工作,就像下面的一样
- 我导航到/home/jagadeesh/android-sdk-linux/platform-tools
- 然后我运行了这个命令
adb shell logcat | grep testing_aws
,它成功地提供了预期的数据 - 现在我想通过appium实现相同的数据
- 我见过一些解决方案,比如
List<LogEntry> adbLogs =driver().manage().logs().get("logcat").filter(Level.ALL);
,它会提供完整的设备日志,但我找不到一种使用特定标签进行过滤的方法(例如:testing_aws( - 因此,如果有一种方法可以通过标记名进行筛选并通过appium获得输出,请帮助我
您可以首先获取所有日志
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();