对于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文件发给开发文章来源:https://www.toymoban.com/news/detail-768846.html
总结:发生了什么错误就去日志中搜什么关键字,给开发提供自己执行命令的参数,统计发生错误的次数,发生错误时所处的页面,将错误前后进行截图,发给开发,然后将整个日志记录文件发给开发文章来源地址https://www.toymoban.com/news/detail-768846.html
到了这里,关于adb logcat输出日志分析和monkey输出日志分析,提交给开发的内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!