1.为什么要开展压力测试?
提高产品的稳定性、提高产品的留存率
2.什么时候开展压力测试?
首轮功能测试通过后; 下班后夜间进行;
什么是Monkey? Monkey是发送伪随机用户事件的工具; 在手机系统里;
什么是ADB? Android Debug Bridge
MonkeyScript 是一组可以被Monkey识别的命令集合 ,可以完成重复固定的操作
什么是MonkeyRunner? MonkeyRunner提供了一系列的API。MonkeyRunner可以完成模拟事件及截图操作。
Monkey和MonkeyRunner的区别:
Monkey:在adb shell中,生成用户或系统的伪随机事件。
MonkeyRunner:通过API定义特定命令和事件控制设备。
MonkeyRunner APIs:
MonkeyRunner:用来连接设备或模拟器。
MonkeyDevice:提供安装、卸载应用,发送模拟事件
MonkeyImage:完成图像保存,及对比的操作。
MonkeyRunner的测试类型: 多设备控制 、功能测试 、回归测试
压力测试结果:
CRASH:即崩溃,应用程序在使用过程中,非正常退出
ANR:Application Not Responding
准备测试环境:准备Android SDk环境、准备Python环境
压测过程:
1.在手机“开发者选项”中,将USB调试选上 2.确认手机和电脑已经成功连接(adb devices)
获取App包名:adb logcat | grep START
grep是linux下的命令,windows用findstr
Monkey 高级参数的应用
throttle参数:指定事件之间的间隔 seed参数:指定随机生成数的seed值
触摸事件:设定触摸事件百分比 adb shell monkey --pct-touch<percent>
动作事件:设定动作事件百分比:adb shell monkey --pct-montion<percent>
轨迹球事件:设定轨迹球事件百分比:adb shell monkey -pct-trackball <percent>
基本导航事件:设定基本导航事件百分比,输入设备的上、下、左、右
adb shell monkey --pct-nav <percent>
主要导航事件:设定主要导航事件百分比,兼容中间键、返回键、菜单按键
adb shell monkey --pct-majornav <percent>系统导航事件:设定系统导航事件百分比, HOME、BACK、拨号及音量键 adb shell monkey --pct-syskeys <percent>
启动Activity事件:设定启动Activity的事件百分比 adb shell monkey --pct-appswitch<percent>
不常用事件:设定不常用事件的百分比:adb shell monkey --pct-anyevent <percent>
Monkey高级参数的应用
11.崩溃事件:忽略崩溃和异常
adb shell monkey --ignore-crashes <event-count>
12.超时事件:忽略超时事件: adb shell monkey --ignore-timeouts <event-count>