monkey相关
一.monkey是什么:
app压测工具,app开发平台(Android sdk)自带的命令
工作原理:在app里随机操作
app性能测试:
后台接口的性能测试
app在手机上运行的性能测试
二、环境搭建:
下载jdk1.8:http://jdk.android-studio.org/
下载Android sdk:http://tools.android-studio.org/index.php/sdk
下载解压, 安装:双击SDK Manager.exe,勾选:
Android SDK platform-tools
Android SDK Build-tools
Google USB driver
点击install pakages、accept、 install
配置andriod SDK环境变量:
ANDROID_HOME = Android SDK路径
在path变量的最前面添加: %ANDROID_HOME%\platform-tools; %ANDROID_HOME%\tools;
path:
环境检测:打开cmd窗口,输入adb version
三、adb命令:
电脑手机互联:
真机:
USB数据线,打开真机的USB调试模式(百度搜索相应手机开启USB调试模式的方法)
adb devices
模拟器:
mumu:adb connect 127.0.0.1:75555
夜神:adb connect 127.0.0.1:62001
adb devices
常用命令:
adb shell input text xxxx: 文本输入xxxx
adb shell input tap 754 89: 点击横坐标754、纵坐标89的点
adb shell input swipe 400 250 400 600 2000:从坐标(400,250)滑到(400,600)滑动2秒
adb shell pm list packages | findstr 关键字:查找有关键字的包名
四、用法:
adb devices 确认连接设备之后在cmd窗口输入
adb shell monkey -p 包名 -v -v -v -s 21 --throttle 1000
monkey参数:
-p:指定一个或多个包
-v:日志级别 -v参数个数越多日志越详细
-s:无论执行多少遍,都是执行的相同事件
--throttle:每个事件结束后的间隔时间,单位毫秒
常用事件:
--pct-touch:触摸事件,比如点击
--pct-motion:动作事件,比如滑动
--pct-pinchzoom:调整缩放事件
--pct-trackball:轨迹事件,比如移动+点击
--pct-rotation:调整横竖屏切换事件
--pct-majornav:主要导航事件,比如回退按键,菜单按键
--pct-anyevent:调整其它类型事件
例如:
adb shell monkey -p com.huomaotv.mobile --pct-appswitch 20 --pct-rotation 20 --pcttouch 30 --pct-motion 20 10000
注意:参数后面紧接百分比 ,百分比的总量不能大于 100%
调试参数:
--ignore crashes:当应用程序崩溃时,Monkey依然会发送事件,直到事件计数完成
--ignore timeouts:当应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成
--ignore security exceptions:当应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成
五、日志分析:
在命令的最后,加上 > 重定向到本地文件 (>表示追加日志,>>表示覆盖日志)
例如:把日志存放到d盘
adb shell monkey -p com.huomaotv.mobile --pct-appswitch 20 --pct-rotation 20 --pcttouch 30 --pct-motion 20 --ignore-crashes --ignore-timeouts 10000 > d:/monkey.log
如何查看日志,确认是否出现bug?搜索以下关键字:
- 1. 程序无响应的情况:搜索关键字“ANR in”
- 2. 崩溃的情况1:搜索关键字“CRASH”
- 3. 崩溃的情况2:搜索关键字“Exception”
- 4. 内存溢出的情况:搜索关键字“OOM”
- 5. 测试成功的情况:搜索关键字“Monkey finished”
- 6. 如果出现空指针 NullPointerException ,就一定是 bug