移动端测试--Monkey测试

一、定义:

monkey属于个黑盒压力测试工具,采用随机算法,对被测应用随机发送伪随机的用户事件流,如点击,拖拽,滑动,输入等,来确定应用是否会发生异常,并且会产生日志来进行分析,但是测试数据测试事件都是随机的,有一定局限性。适合作为压力或者稳定性测试工具来测试应用的崩溃率,稳定性。但是可以通过二次开发来进行业务流程控制或一定程度上控制测试覆盖。

二、参数解析:

  1. -p   指定要进行monkey测试的包,如果不使用参数,则会随机选择一个应用进行测试
    eg::-p com.android.settings   -p com.android.calendar

  2. -c   指定activity的category类别 
  3. -v   指定日志级别 -v level1  -v -v level2  -v -v -v level3
    -v      :Level 0,仅提供测试启动、完成和最终结果等信息
    -v -v   :Level 1,日志较为详细,包括选中Activity信息
    -v -v–v :Level 2,日志最详细,包括测选中/未选中的
  4. -s   伪随机的事件seed值,seed相同事件序列也相同
  5. --ignore-crashes 忽略异常崩溃
  6. --ignore-timeouts 忽略ANR
  7. --ignore-native-crashes 忽略native层代码的崩溃
  8. --ignore-security-exceptions 忽略一些许可错误,比如证书许可,网络许可
  9. --monitor-native-crashes 是否监视并报告native层发送的崩溃代码
  10. --kill-procress-after-error 用于在发送错误后杀死进程
  11. --hprof  设置后,在Monkey事件序列之前和之后立即生产分析报告,保存于data/mic目录,不过将会生成大量几兆文件,谨慎使用
  12. --throttle  事件间的时延,单位是毫秒 设置每个事件结束后延迟多少时间再继续下一个事件,降低cpu压力;如果不设置,事件与事件之间将不会延迟,事件将会尽快生成;一般设置300ms,因为人最快300ms左右一个动作
  13. pct-{+事件类别} {+事件类别百分比}  指定每种类别事件的数目百分比

  14. --pct-touch 设置触摸事件的百分比,即手指对屏幕进行点击抬起(down-up)的动作
  15. --pct-motion 设置移动事件百分比,这种事件类型是由屏幕上某处的一个down事件-一系列伪随机的移动事件-一个up事件,即点击屏幕,然后直线运动,最后抬起这种运动。
  16. --pct-trackball 设置轨迹球事件百分比,这种事件类型是一个或者多个随机移动,包含点击事件,这里可以是曲线运动,不过现在手机很多不支持,这个参数不常用
  17. --pct-syskeys 设置系统物理按键事件百分比,比如home键,音量键,返回键,拨打电话键,挂电话键等
  18. --pct-nav 设置基本的导航按键事件百分比,比如输入设备上的上下左右四个方向键
  19. --pct-appswitch 设置monkey使用startActivity进行activity跳转事件的百分比,保证界面的覆盖情况
  20. --ptc-anyevent 设置其它事件百分比
  21. --ptc-majornav 设置主导航事件的百分比
  22. 保存dos窗口打印的monkey信息,在monkey命令后面补上输出地址,如adb shell monkey -p xxx.xxxx.xxx  -v -v 100 > D:\monkey.txt;这样monkey测试结束后,所有打印的信息都会输出到这个文件里

三、结束的方式

ps | grep monkey
•kill pid ****

四、结果的分析

1.最后一行有monkey  finished结束语

2. 异常信息的分析

  错误信息重定向至error.txt。搜索anr,以及notresponding

  未将错误信息分离:搜索Exception,以及anr

3. 特殊情况关机以及重启。会在info信息中下发powerdown以及systemrestart

五、扩展

可以通过二次开发来进行业务流程控制或一定程度上控制测试覆盖

猜你喜欢

转载自blog.csdn.net/ningmengbu_suan/article/details/107318288