gpt4 book ai didi

selenium - 如何在appium中获取带有特定标签的ADB logcat?

转载 作者:行者123 更新时间:2023-12-03 06:37:24 25 4
gpt4 key购买 nike

我想通过 APPIUM 获取特定标签(例如:testing_aws)的 ADB logcats。实际上我是直接从控制台完成此操作的,如下所示

  • 我导航至 /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();

关于selenium - 如何在appium中获取带有特定标签的ADB logcat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53779829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com