持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情
1.Monkey 简介
Monkey 就是SDK中附带的一个工具。Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 该工具用于进行压力测试。然后开发人员结合monkey 打印的日志和系统打印的日志,分析测试中的问题
2.monkey特点
Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。
- android 自带的工具
- monkey 用来做 android 系统的压力测试
- monkey 可以直接通过 adb 命令直接调用
- monkey 可以同时测试多个 app
- monkey 可以定义每次测试的顺序
- monkey 可以输出日志级别
- monkey 日志分析测试结果(exception,error,crash,anr)
- monkey 可设置事件操作的百分比
- monkey 可以设置异常继续操作 10.测试对象仅为应用程序包,具有一定的局限性。 11.Monky测试中使用的事件数据流是随机的,不能定制。 12.可以设置MonkeyTest的对象、事件数量、类型和频率。
3.monkey测试常用参数
1.monkey启动命令:adb shell monkey
2.monkey 调用apk包名 -p定义包名 1000位发送事件数
命令:adb shell mongkey -p 包名 1000
3.Monkey 定义日志的级别 -v
仅提供启动提示、测试完成和最终结果等少量信息
命令:Adb shell monkey –p 名包 –v 50
4.monkey 定义日志级别 -v -v
提供较为详细的日志,包括买个发送到activity的时间信息
如:adb shell monkey -p 包名 -v-v 50
5.monkey 定义日志级别-v-v-v
最详细的日志,包括了测试中选中/未选中的activity信息
如:adb shell monkey 包名 -v-v-v 50
6.monkey 测试多个app
命令:adb shell monkey -p com.tencent.mm -p com.tencent.qqlite -p com.taobao.taobao -v -v-v 10
7.monkey定义seed值 -s
如:adb shell monkey -p com.tencent.mm -s 10180814 -v 10
8.monkey 定义延时 -throttle
如: adb shell monkey -p con.taobao.taotao --throttle 200 -v 100
3.monkry 测试事件
- -pct-touch事件 如:adb shell monkey -p com.example.administrator.myapplication --pct-touch 50 -v -v -v 100
2.–pct-ratation 事件
3.–pct-motion 事件
实例:adb shell monkey –p com.tencent.qqlite –v –v –v –pct-touch 10 –pct-motion 10 –pct-rotation 10 –pct-syskeys 10 –pct-appswitch 10 –pct-pinchzoom 10 100
0:触摸事件百分比 参数--pct-touch
1:滑动事件百分比 参数--pct-motion
2:缩放事件百分比 参数--pct-pinchzoom
3:轨迹球事件百分比 参数--pct-trackball
4:屏幕旋转事件百分比 参数 - -pct-rotation
5:基本导航事件百分比 参数 --pct-nav
6:主要导航事件百分比 参数--pct-majornav
7:系统事件百分比 参数--pct-syskeys
8:Activity 启动事件百分比 参数--pct-appswitch
9:键盘翻转事件百分比 参数--pct-flip 10:其他事件百分比 参数--pct-anyeven