android crash没有日志_App测试之monkey(四)-调试参数及日志

2daf0c23e2585448d60d5d55d4d30558.png

由于monkey在测试app时,我们需要作长时间的稳定性测试,比如连续测试10小时(monkey不能指定时间,可以指定次数,时间可以在测试次数的日志基础上大概算出来),在测试过程中,app很可能测试时间不久,因为碰到问题而崩溃,此时测试会停止,而达不到我们长期测试的目的,我们需要通过调试参数来让测试执行继续,主要的几个参数如下:

--ignore-crashes 指即使应用程序崩溃,Monkey依然会发送事件,直到事件计数达到指定的次数为止。如:

adb shell monkey -p cn.mopon.film --ignore-crashes 10000

说明:即使应用程序崩溃,Monkey依然会发送事件,直到事件计数达到10000为止。

--ignore-security-exceptions 指APP发生许可证书错误时,Monkey依然继续发送事件,直到事件数目达到目标值为止

adb shell monkey -p cn.mopon.film --ignore-security-exceptions 1000

--ignore-timeouts 指app在发生 ANR(Application No Responding)错误时,Monkey是否停止运行如果使用--ignore-timeouts参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成,如

adb shell monkey -p cn.mopon.film --ignore-timeouts 1000

--kill-process-after-error 指APP发生错误时,应用程序停止运行并保持在当前状,如:

adb shell monkey -p cn.mopon.film --kill-process-after-error 1000

当应用程序发生错误时,应用程序停止运行并保持在当前状态,注意系统并不会结束该应用程序的进程。

也多个控制参数一起使用:

adb shell monkey -p cn.mopon.film --ignore-crashes --ignore-timeouts 10000

注:当app崩溃,发生ANR错误时继续测试

Monkey命令和事件等综合运用参考

adb shell monkey -p cn.mopon.film (替换要测试的包名) --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000>d:monkeyLog.log

Monkey测试可以发现的问题

Android平台应用程序可能产生以下四种Crash:

App层(java应用):1、Force Close Crash 2、ANR Crash

Native层(本地框架):3、Tombstone Crash(Native Crash)

Kernel层(LINUX内核空间):4、Kernel Panic

Money日志定位问题

1 .monkey作长时间稳定性测试时,由于无人值守,所以测试的结果主要靠日志来看,典型Monkey测试日志文件输出,如下:

f26e0f0a96dbe0cd4415c0f3b0d3d1b6.png

//主要Log文件说明

anr目录:从手机/data/anr导出的日志,保存发生anr crash 时的相关信息;

dontpanic目录:从手机/data/dontpanic/导出的日志,保存发生Kernel Panic时的相关信息;

Tombstone目录:从手机/data/tombstones/导出的日志,保存发生Tombstone Crash时的错误信息;

dropbox目录:从手机/data/tombstones/导出的日志,经过dropbox服务截取的部分tombstones错误信息;

BugReportLog.log:通过adb shell bugreport命令提取的系统各种信息;

MonkeyScreenLog.Log:保存Monkey测试过程、应用层错误信息,发生Native Crash时,在此文件也会有记录;

2 .通过日志定位问题步骤

(1) 在MonkeyScreen.Log日志文件搜索关键词“Fatal”、“Crash”、“ANR”定位到发生Crash的详细堆栈信息,或分析发生Crash前后的日志事件,如图所示:

992c722a9f2cf75ec440ad8209b708ba.png

(2)检查dropbox目录下是否有相关crash日志信息,主要关注是否有以下4类crash错误信息:data_app_wtf,data_app_anr,data_app_crash,system_server_watchdog,如图:

f6a61e18e78f3b7d490b915b627defe8.png

(3) 检查tombstone目录是否有生成日志,有的话说明发生过native crash,如图:

cc7f7cd67a18e32da9f1fce0af76b1d7.png

(4)通过anr目录中的日志文件或BugReport.log日志文件,进一步分析问题原因;

(5)通过上述日志信息,结合代码分析或通过搜索引擎寻找对应问题的可能错误,定位解决问题。

Monkey后台运行

作用:使得android系统的设备脱离PC,独立运行monkey和记录logcat和monkey日志。

方法如下:

1. 连接设备和PC;

2 .adb shell 命令进入命令行模式;

3. 输入 logcat 命令(日志文件的地址使用> /sdcard/logcat_x.log),之后回车,

如:logcat -v time >/sdcard/logcat_x.log

4 .输入 monkey 命令(日志文件的地址使用> /sdcard/monkey_x.txt),回车;

如:monkey -p packageName --throttle 500 -v -v -v 1000000 >/sdcard/monkey.log 对于其余的monkey命令的参数可以自己添加

5 .此时monkey开始运行,拔掉设备和PC的数据线;

6 .确认logcat和monkey的日志记录,可以重新连接设备和PC,通过adb shell进入日志保存的目录,使用 ls –l查看,logcat和monkey日志文件的大小不断增加,说明测试一直在写入日志。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值