目录
1.Monkey是什么
Monkey是安卓SDK提供的一个命令行工具。Monkey可以通过发送伪随机事件流来测试设备上的程序的稳定性,通常用于APP压力测试,验证APP是否会发生崩溃
2.monkey命令启动方式
①使用命令行,输入adb shell monkey {+命令参数}来进行测试
②可以使用adb shell 进入android手机系统,然后使用monkey{+命令参数}来进行测试
3.monkey常用命令
① -p 用于约束限制,用此参数指定运行一个或多个包(adb shell monkey -p <package_name> <event-count>)
指定一个包:
adb shell monkey -p cn.xxx.xx 100
指定多个包:
adb shell monkey -p cn.xxx.xx 100 -p cn.xxx.xx 100
不指定包:
adb shell monkey 1000
②-s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。 示例:
adb shell monkey -p cn.xxxx.xx 100 -s 10
③ -c 用于指定运行一个或多个类别。Monkey将只允许系统访问被这些类别中的某个类别列出的activity。一般软件前期还没有界面,只有类别时使用。和上面的–p 一样的用法。
④ -v
用于指定反馈信息级别,日志的详细程度,总共分3个级别,分别对应的参数如下表所示:
a.Level0 ;说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息
b. Level 1;提供较为详细的日志,包括每个发送到Activity的事件信息
c. Level 2 ;最详细的日志,包括了测试中选中/未选中的Activity信息
adb shell monkey -p cn.xxxx.xx 100 -v 100 #level 0
adb shell monkey -p cn.xxxx.xx 100 -v -v 100 #level 1
adb shell monkey -p cn.xxxx.xx 100 -v -v -v 100 #level 2
⑤ --throttle <毫秒> 用于指定用户操作(即事件)间的时延,单位是毫秒;一般设定延时在200ms~300ms
adb shell monkey -p cn.xxxx.xx 100 --throttle 200 100
⑥ --ignore-crashes 忽略程序崩溃和异常事件,若遇到,Monkey会依然发送事件,直到事件计数完成
adb shell monkey -p cn.xxxx.xx 100 --ignore-crashes 1000
⑦ --ignore-timeouts 运行中忽略ANR。即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成
adb shell monkey -p cn.xxxx.xx 100 --ignore-timeouts 1000
⑧ --ignore-native-crashes
adb shell monkey -p cn.xxxx.xx 100 --ignore-native-crashes 1000
⑨ 运行并生成日志文件
adb shell monkey -p cn.xxxx.xx -v -v -v 1000 > C:\xxx\xxx.txt
4.monkey日志的主要内容
①测试命令信息:运行次数、随机seed等
②伪随机事件流
③异常信息:崩溃、ANR
④测试结果信息:完成事件、网络状态等