adb logcat输出日志分析和monkey输出日志分析,提交给开发的内容

对于app测试所获取的日志,主要是为了看程序出现的crash和anr

crash:程序崩溃或闪退,一般会给出提示框:程序停止运行
anr:程序无响应(响应延迟),当操作在一段时间内系统无法处理的时候,弹出对话框:程序无响应,是否关闭


手工测试app,需要提交给开发的内容

adb logcat -c 清理现有日志
adb logcat -v time > D:\log.txt
输出带时间戳的日志到电脑上,开始手工测试,日志会自动持续记录到log.txt中



1. 对于crash错误,需要提交给开发的内容?

日志中搜索crash,在附近寻找,或者搜索fatal exception ,给开发截取从这一行开始,到下面所有E级别的日志,注意是连续的E级别的日志为止
在这里插入图片描述

并直接将整个日志发给开发,告知存在crash错误



2.对于anr错误,需要提交给开发的内容?
(1)日志中搜索anr in,在anr in前面可以看到方法调用栈信息写入的文件(驱使文件)
在这里插入图片描述

(2) adb pull /data/anr/traces.txt D:\111.txt 将方法调用栈文件拉到电脑上
在这里插入图片描述

可忽略:如果想进入设备中先查看该traces.txt文件是不是方法调用栈文件

adb shell       进入设备内部
cd /data/anr    进入该文件所处的目录
ls              列出该目录下所有的文件
cat traces.txt  查看方法调用栈文件
exit            退出shell模式

(3) 查看日志中产生anr的时间与方法调用栈文件的时间,确认是否有效,若相差几秒则有效,否则无效

(4) 将logcat日志中anr相关信息截图给开发,告知anr错误,并将整个logcat文件和traces.txt文件,一起提交给开发



问题1: 关于方法调用栈写入的文件(驱使文件)只能记载最新一次的anr信息,第二次的会将第一次的覆盖掉,如果发生多次anr,想查看每次发生anr所写入的方法调用栈文件如何做?

答:可以进入到设备的dropbox目录下面,查看多次产生anr写入的多个方法调用栈文件

adb shell                                 进入设备
cd /data/system/dropbox                   找到dropbox目录
ll  列出其中的文件详情,列出详情是为了用时间来分辨文件产生的先后,知晓对应的是日志中的哪次anr
exit                                      退出shell
adb pull /data/system/dropbox D:\dropbox  将整个dropbox目录拉到本地

在这里插入图片描述



问题2:现在安卓碎片化普遍,没有dropbox目录怎么办? 答:安卓碎片化,即很多手机厂商有自己的操作系统,在定制的过程中可能会对android原生进行修改,导致没有drop目录,那就看不了过往的,只能老老实实去 `/data/anr/traces.txt`中看最新一次的

monkey测试app,需要提交给开发的内容?

看这部分之前,强烈建议将上文“手工测试app,需要提交给开发的内容”先看完


1. 对于crash错误,需要提交给开发的内容?

adb shell monkey 参数> D:\log.txt ,输出monkey日志到电脑上
在monkey日志中搜索crash,将这些关键字,连同上下文,包括一些exception异常信息,一起发给开发,或者将整个日志发给开发
可以通过在monkey日志中搜索switch找到切换到了哪个APP,若指定了被测程序,那就只会有一个switch
也可以通过搜索 allowing start of intent,找到程序跳转到了那个Activity
在这里插入图片描述


2. 对于anr错误,需要提交给开发的内容?
答:需要提交logcat日志和trace.txt(方法调用栈写入的文件)及monkey日志一起提交给开发

monkey日志中anr相关信息不够详细,而logcat为Android系统日志,包含的内容更加详细,可以帮助开发人员定位问题。
如果要获取logcat日志,则需要在执行monkey测试之前开始记录,完整步骤如下:

adb logcat -c                                 #清除现有日志
adb logcat -v time >D:\logcat.log             #开始记录logcat日志
adb shell mnokey 参数 >D:\monkey.log          #执行monkey测试并输出monkey日志
adb pull /data/anr/traces.txt  D:\traces.log  #根据logcat日志中记录的traces文件目录,将traces.txt文件拉到电脑上

将以上三份文件中的关键信息给开发进行简要说明,然后将三份文件一起发给开发
问:需要跟开发简要说明什么?
答:自己的操作,monkey命令执行使用的一些参数,出现anr时所处的页面,在monkey日志中可以看到,,logcat日志中出现anr的上下文截图

问题: monkey执行过程中,发生多次crash或anr
答:众所周知,monkey命令运行时若加了--ignore-crashes ,app出现崩溃退出后还会自动重启并继续执行事件,所以日志中可以有多次crash,那么我们需要在monkey脚本结束之后,在monkey日志中直接搜索crash,记录每次发生crash的关键信息给开发说明,并将整个monkey日志提交给开发
执行monkey命令时若加了--ignore-timeouts,app出现anr错误时还是会继续执行事件,所以日志中会有多次anr,那么我们需要在monkey日志和logcat日志中搜索anr,记录每次发生anr的关键信息给开发说明,并将整个logcat日志,monkey日志,trace.txt文件发给开发

总结:发生了什么错误就去日志中搜什么关键字,给开发提供自己执行命令的参数,统计发生错误的次数,发生错误时所处的页面,将错误前后进行截图,发给开发,然后将整个日志记录文件发给开发

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值