环境准备:

  1. 安装JDK

  2. 安装android SDK或者只需要去官网下载platform-tools包解压,配置环境变量即可

  3. 环境搭建可参考:

  3.准备一台真机 / 使用木木模拟器:

    将真机链接到电脑上,在开发者选项中打开USB调试,在弹出窗口中允许计算机USB调试该手机

    使用木木模拟器需要进入如下目录,进行主动的设备连接,使用命令:adb connect 127.0.0.1:7555

adb执行echo adb执行monkey_monkey测试

 

设备连接成功后,启动要测试的app:

  并运行此命令获取包名:adb shell dumpsys window w | findstr \/ | findstr name=

adb执行echo adb执行monkey_monkey测试_02

 

   运行一下命令开始测试:adb shell monkey -p com.xueqiu.android --pct-touch 20 --pct-motion 20 --throttle 100 -v -v -v 100000 > D:\snowball.txt

  示例如下:

adb执行echo adb执行monkey_monkey测试_03

  事件类型:

    【--pct-touch 20】 表示触摸事件占比20%

    【--pct-motion 20】表示移动事件占比20%

    【--throttle 100】表示事件时间间隔100ms

    【-v -v -v 10000】三个 -v -v -v表示详细程度 10000 表示对apk执行monkey测试的运行次数

  参数解析:

  1. -p   指定要进行monkey测试的包,如果不使用参数,则会随机选择一个应用进行测试
  2. -c   指定activity的category类别
  3. -v   指定日志级别 -v level1  -v -v level2  -v -v -v level3
  4. -s   伪随机的事件seed值,可以通过-s参数复现问题,不指定就会随机生成

  调试选项
    --ignore-crashes:忽略异常崩溃

    --ignore-timeouts:忽略超时ANR

    --monitor-native-crashes:跟踪崩溃问题(是否监视并报告native层发送的崩溃代码)

    --ignore-native-crashes: 忽略native层代码的崩溃

    --ignore-security-exceptions:忽略一些许可错误(忽略安全异常),比如证书许可,网络许可

    --kill-procress-after-error: 用于在发送错误后杀死进程

    --hprof  设置后,在Monkey事件序列之前和之后立即生产分析报告,保存于data/mic目录,不过将会生成大量几兆文件,谨慎使用

    --pct-trackball 设置轨迹球事件百分比,这种事件类型是一个或者多个随机移动,包含点击事件,这里可以是曲线运动,不过现在手机很多不支持,这个参数不常用

    --pct-syskeys 设置系统物理按键事件百分比,比如home键,音量键,返回键,拨打电话键,挂电话键等

    --pct-nav 设置基本的导航按键事件百分比,比如输入设备上的上下左右四个方向键

    --pct-appswitch 设置monkey使用startActivity进行activity跳转事件的百分比,保证界面的覆盖情况

    --ptc-anyevent 设置其它事件百分比

    --ptc-majornav 设置主导航事件的百分比

————————————————————————————————————————————————————————————————————