首页 > 解决方案 > Appium - 在 Android 上禁用错误报告生成

问题描述

我想知道是否有一种方法可以禁用 appium 每次测试失败时执行的错误报告功能,因为这可能非常耗时,而且我发现自己只是在等待报告生成,而我什至不需要它

appium 日志中的示例:

2018-07-20 15:29:31:770 - [HTTP] 

{"type":"bugreport","sessionId":"337b3e20-17d1-4b9d-a564-4107fbd6cd52"}
2018-07-20 15:29:31:770 - [debug] [W3C] Calling AppiumDriver.getLog() with args: ["bugreport","337b3e20-17d1-4b9d-a564-4107fbd6cd52"]
2018-07-20 15:29:31:771 - [debug] [BaseDriver] Retrieving 'bugreport' logs
2018-07-20 15:29:31:771 - [debug] [BaseDriver] Retrieving supported log types
2018-07-20 15:29:31:771 - [debug] [ADB] Running '/usr/local/share/android-sdk/platform-tools/adb -P 5037 -s 04db2741df5621fc bugreport'

在多个设备版本上检查 Android 开发人员工具时,我发现没有关闭此功能的选项,有一个“获取错误报告”选项,这似乎不是我想要的。在此先感谢您的帮助。

标签: androidmobileadbappiumbug-reporting

解决方案


我发现自己和你有同样的问题,并通过将我的 adb 包装到一个代理脚本中来解决它,该脚本会丢弃任何错误报告请求。这不是最终的解决方案,但它可以工作并节省大量时间。

只需转到您的 Android SDK,将 adb 重命名为 adb-real,然后创建一个名为 adb 的脚本并确保设置执行权限。这是 Bash 脚本,如果您碰巧使用的是 Windows,您可能想要创建一些其他类型的脚本。

#!/bin/bash
if [[ "$*" =~ .*bugreport.* ]]
then
    echo "Ignoring bugreport"
else
    adb-real $*
fi

推荐阅读