最近在项目自测中用了一下Monkey测试工具,顺便看了一下其源码,在这里做一个分享 基本语法: 指定包名: 平时测试命令:
adb -s 192.168.50.243 shell monkey -p com.tencent.karaoketv --throttle 500 -s 605 --pct-motion 15 --pct-nav 25 --pct-majornav 30 --pct-syskeys 0 --pct-appswitch 10 --pct-touch 20 --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --ignore-crashes -v -v -v 10000 >e:\monkey-603-0815.log基本参数:
-v 用于指定反馈信息级别,也就是日志的详细程度,分Level1、Level2、Level3-s 伪随机数生成器的种子值,如果我们两次monkey测试事件使用相同的种子值,会产生相同的事件序列-p 用于约束限制,用此参数指定一个包,指定包后Monkey将被允许启动指定应用–throttle 设置每个事件结束后延迟多少时间再继续下一个事件事件类型:
–pct-touch 设置触摸事件的百分比,即手指对屏幕进行点击抬起(down-up)的动作–pct-motion 设置移动事件百分比,这种事件类型是由屏幕上某处的一个down事件-一系列伪随机的移动事件-一个up事件,即点击屏幕,然后直线运动,最后抬起这种运动–pct-trackball 设置轨迹球事件百分比,这种事件类型是一个或者多个随机移动,包含点击事件–pct-nav 设置基本的导航按键事件百分比,比如输入设备上的上下左右四个方向键–ptc-majornav 设置主导航事件的百分比–pct-syskeys 设置系统物理按键事件百分比,比如home键,音量键,返回键,拨打电话键,挂电话键等–pct-appswitch 设置monkey使用startActivity进行activity跳转事件的百分比,保证界面的覆盖情况–ptc-anyevent 设置其它事件百分比调试选项:
–hprof 设置后,在Monkey事件序列之前和之后立即生产分析报告,保存于data/mic目录–ignore-crashes 忽略异常崩溃,如果不指定,那么在monkey测试的时候,应用发生崩溃时就会停止运行–ignore-timeouts 忽略ANR,当发送ANR时候,让monkey继续运行–ignore-security-exceptions 忽略一些许可错误,比如证书许可,网络许可–kill-procress-after-error 用于在发送错误后杀死进程–monitor-native-crashes 是否监视并报告native层发送的崩溃代码