携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情
这篇文章接讲解一下app是怎么做性能测试的,主要是用monkey命令来实现随机触屏事件,通过设置点击的频率,范围,根据手机页面的具体情况来判断app性能检测听过还是不通过。
一、 monkey 特点
-
android 自带的工具
-
monkey 用来做 android 系统的压力测试
-
monkey 可以直接通过 adb 命令直接调用
-
monkey 可以同时测试多个 app
-
monkey 可以定义每次测试的顺序
-
monkey 可以输出日志级别
-
monkey 日志分析测试结果(exception,error,crash,anr)
-
monkey 可设置事件操作的百分比
二、 monkey 测试事件
- –pct-touch 事件
例: adb shell monkey -p com.example.administrator.myapplication --pct-touch 50 -v -v -v 100
-
–pct-ratation 事件
-
–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-pinchzoom3 / 3
3:轨迹球事件百分比
参数--pct-trackball
4:屏幕旋转事件百分比
参数 - -pct-rotation
5:基本导航事件百分比
参数 --pct-nav
6:主要导航事件百分比
参数--pct-majornav
7:系统事件百分比
参数--pct-syskeys
8:Activity 启动事件百分比
参数--pct-appswitch
9:键盘翻转事件百分比
参数--pct-flip
10:其他事件百分比
参数--pct-anyevent
monkey 导常参数
adb shell monkey -p com.android.calculator2 -p com.android.providers.settings
--pct-touch 10 --pct-rotation 20 --hprof
--ignore-crashes
–ignore-timeouts -v -v -v -s
20181215 10000
-
Monkey 启动命令:adb shell monkey
-
Monkey 调用 apk 包名
-p 定义包名
1000 为发送事件数
命令:adb shell monkey –p 名包 1000
- Monkey 定义日志的级别
-v
仅提供启动提示、测试完成和最终结果等少量信息
命令:Adb shell monkey –p 名包 –v 50
- Monkey 定义日志级别 –v –v
提供较为详细的日志,包括每个发送到 Activity 的事件信息
例:adb shell monkey –p 包名 –v –v 50
- Monkey 定义日志级别 –v –v -v
最详细的日志,包括了测试中选中/未选中的 Activity 信息
例:adb shell monkey –p 包名 –v –v -v 502 / 3
- 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 20180814 -v 10
- Monkey 定义延时 –throttle
例: adb shell monkey -p com.taobao.taobao --throttle 200 -v 100