苏眠月|Monkey压力稳定性测试,Android

1、什么是稳定性测试?通过随机点击屏幕一段时间 , 看看app会不会崩溃 , 能不能维持正常运行 。
2、什么是monkey?Monkey是一个命令行工具 , 使用安卓调试桥(adb)来运行它 , 模拟用户触摸屏幕、滑动、按键等随机事件流来对设备上的程序进行压力测试 , 检测程序多久的时间会发生异常,可以根据获取的log信息进行修复 。
3、Monkey结构
有线连接:数据线连接设备
无线连接:输入adbconnect192.168.199.152IP地址
②先确认设备(模拟器或者真机)是否连接成功
输入命令:adbdevices , 出现设备号则表示连接成功
③确定待测应用的包名
打开待测应用后 , 输入命令:adbshelldumpsysactivity|find"mFocusedActivity"查看包名专业版包名:com.zhongyou.special.pad169030
④执行monkey测试命令
输入命令:adbshellmonkey-pcom.zhongyou.special.pad-v-v1000--throttle500--pct-touch50–-pct-motion50>D:monkey.txt
⑤中断monkey运行
如果想中断运行中的monkeyCTRL+C
adbshellps|find“monkey”返回进程号
adbshellkill[刚才查到的进程号]
5、Monkey压力测试参数命令格式:adbshellmonkey[限制命令参数值][事件名百分比]事件次数
-p包名列表>
用此参数指定一个或多个包 。 指定包之后 , monkey将只允许系统启动指定的app 。 如果没有指定包 , monkey将允许系统启动设备中的所有app 。
指定一个包:adbshellmonkey-pcom.shjt.map100
指定多个包:adbshellmonkey-pfishjoy.control.menu–pcom.shjt.map100
-v
用于指定反馈信息级别(信息级别就是日志的详细程度) , 总共分3个级别 , 分别对应的参数如下表所示:
Level0:adbshellmonkey-pcom.shjt.map-v100//缺省值 , 仅提供启动提示、测试完成和最终结果等少量信息
Level1:adbshellmonkey-pcom.shjt.map-v-v100//提供较为详细的日志 , 包括每个发送到Activity的事件信息
Level2:adbshellmonkey-pcom.shjt.map-v-v-v100//最详细的日志 , 包括了测试中选中/未选中的Activity信息
-s(随机数种子)
用于指定伪随机数生成器的seed值 , 如果seed相同 , 则两次Monkey测试所产生的事件序列也相同的 。 示例:
monkey测试1:adbshellmonkey-pcom.shjt.map–s10100
monkey测试2:adbshellmonkey-pcom.shjt.map–s10100--throttle
用于指定用户操作(即事件)间的时延 , 单位是毫秒;如果没有指定这个参数 , monkey会尽可能快的生成和发送消息 。
例:adbshellmonkey-pcom.shjt.map--throttle3000100
发送的事件类型
点击事件百分比 , 即参数--pct-touch
滑动事件百分比 , 即参数--pct-motion
轨迹球事件百分比 , 即参数--pct-trackball
基本导航事件百分比 , 即参数--pct-nav
系统按键事件百分比 , 即参数--pct-syskeys
其他事件百分比 , 即参数--pct-anyevent
调试选项(不常用)
--hprof:指定该项后在事件序列发送前后会立即生成分析报告
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题