monkey压力测试

266 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情

1.Monkey 简介

Monkey 就是SDK中附带的一个工具。Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。 该工具用于进行压力测试。然后开发人员结合monkey 打印的日志和系统打印的日志,分析测试中的问题

2.monkey特点

Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性。

  1. android 自带的工具
  2. monkey 用来做 android 系统的压力测试
  3. monkey 可以直接通过 adb 命令直接调用
  4. monkey 可以同时测试多个 app
  5. monkey 可以定义每次测试的顺序
  6. monkey 可以输出日志级别
  7. monkey 日志分析测试结果(exception,error,crash,anr)
  8. monkey 可设置事件操作的百分比
  9. monkey 可以设置异常继续操作 10.测试对象仅为应用程序包,具有一定的局限性。 11.Monky测试中使用的事件数据流是随机的,不能定制。 12.可以设置MonkeyTest的对象、事件数量、类型和频率。

3.monkey测试常用参数

1.monkey启动命令:adb shell monkey

image.png 2.monkey 调用apk包名 -p定义包名 1000位发送事件数 命令:adb shell mongkey -p 包名 1000

image.png 3.Monkey 定义日志的级别 -v

仅提供启动提示、测试完成和最终结果等少量信息

命令:Adb shell monkey –p 名包 –v 50

image.png 4.monkey 定义日志级别 -v -v 提供较为详细的日志,包括买个发送到activity的时间信息

如:adb shell monkey -p 包名 -v-v 50

image.png 5.monkey 定义日志级别-v-v-v 最详细的日志,包括了测试中选中/未选中的activity信息

如:adb shell monkey 包名 -v-v-v 50

image.png 6.monkey 测试多个app

命令:adb shell monkey -p com.tencent.mm -p com.tencent.qqlite -p com.taobao.taobao -v -v-v 10

image.png 7.monkey定义seed值 -s 如:adb shell monkey -p com.tencent.mm -s 10180814 -v 10

image.png 8.monkey 定义延时 -throttle 如: adb shell monkey -p con.taobao.taotao --throttle 200 -v 100

image.png

3.monkry 测试事件

  1. -pct-touch事件 如:adb shell monkey -p com.example.administrator.myapplication --pct-touch 50 -v -v -v 100

image.png 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