Monkey入门——基础参数
Monkey基本介绍:俗称猴子,就是模拟随机无目的地在测试应用。通过长时间、快速地随机发送事件流,对Android应用不断造成操作上的压力。一般,稳定性不好的应用很容易在这种快速的随机操作中出现严重的问题,比如ANR(无响应)、Crash(崩溃)等。
图1 monkey.jar1、Monkey是稳定性测试工具,对客户端应用进行稳定性测试;
2、Monkey是一种命令行工具,Android设备自带该工具;
3、通过名为monkey的shell脚本启动执行,shell脚本的存放路径为/system/bin/monkey。
4、Monkey使用Java语言编写,名为monkey.jar,位于/system/framework目录;
Monkey命令:adb shell monkey <命令参数> <指令数>
1、不带命令参数:adb shell monkey 10 #发送10个随机指令:
图2 不带命令参数2、命令参数-p,指定一个或者多个包,随机指令都针对指定的包进行操作:adb shell monkey -p com.dsl.newwiki 20 #对“新百科”应用发送20个随机指令:
图2 参数p3、命令参数-v,指定日志的详细程度,3个级别,-v参数个数越多日志就越详细:
-v:级别1,仅提供启动提示、测试完成及Crash日志等少量的信息:adb shell monkey -p com.dsl.newwiki -v 20 #对“新百科”应用发送20个随机指令并提供一级日志:
图3 -v-v -v:级别2,提供较详细的日志,包括每个发送到Activity的事件信息:adb shell monkey -p com.dsl.newwiki -v -v 20 #对“新百科”应用发送20个随机指令并提供二级日志:
图4 -v -v-v -v -v:级别3,提供最详细的日志,包括选中或者没有选中的Activity信息:adb shell monkey -p com.dsl.newwiki -v -v -v 20 #对“新百科”应用发送20个随机指令并提供三级日志:
图5 -v -v -v4、命令参数--throttle,指定每个事件结束之后间隔的时间,用于降低系统的压力,如果不指定的话,系统会很快地发送随机事件序列:adb shell monkey -p com.dsl.newwiki 20 --throttle 3000 50 #每个指令延时3000毫秒:
图6 --throttle4、命令参数-s,指定测试的种子值,也就是编号,如果两次的种子值相同,则两次测试的随机指令完全相同,主要用于回归和重现BUG:adb shell monkey -p com.dsl.newwiki 20 -s 1574759409276 50