Android测试-脚本测试-Monkey 的用法

Monkey用法

    • Monkey 是一个命令行工具,可以运行在 Android 模拟器里或真实设备中。它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对待测的目标应用或整个 Android 系统进行压力测试。因此 Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法
    • 基本语法:

      1
      
      $ adb shell monkey [options] <event-count>
      

      如果不指定options,即类似于使用命令adb shell monkey 1000,那么将会对整个系统中安装的 package 发送事件流,换种说法就是对整个 Android 系统进行 Monkey 压力测试

      这是一个对指定应用(Android自带的系统设置应用)进行 Monkey 测试的例子,发送的事件流数目为1000:

      1
      
      adb shell monkey -p com.android.settings 1000
      

    Monkey 命令选项

    • 获取选项列表,Android 4.4版本中输入adb shell monkey,会显示选项列表如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      
      usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
                    [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
                    [--ignore-crashes] [--ignore-timeouts]
                    [--ignore-security-exceptions]
                    [--monitor-native-crashes] [--ignore-native-crashes]
                    [--kill-process-after-error] [--hprof]
                    [--pct-touch PERCENT] [--pct-motion PERCENT]
                    [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
                    [--pct-nav PERCENT] [--pct-majornav PERCENT]
                    [--pct-appswitch PERCENT] [--pct-flip PERCENT]
                    [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
                    [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
                    [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
                    [--wait-dbg] [--dbg-no-events]
                    [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
                    [--port port]
                    [-s SEED] [-v [-v] ...]
                    [--throttle MILLISEC] [--randomize-throttle]
                    [--profile-wait MILLISEC]
                    [--device-sleep-time MILLISEC]
                    [--randomize-script]
                    [--script-log]
                    [--bugreport]
                    [--periodic-bugreport]
                    COUNT
      
    • 常用选项及参数说明
      • -p 允许的包名列表,可同时指定多个包名,每个包都需要使用“-p”参数指定。包名的获取,可参考 python 脚本get_package_name.py
      • —ignore-crashes 忽视应用 crash 报错,不指定该参数时,应用出现 crash,monkey 会自动停止发送事件,指定该参数后,mongkey 会在 crash 后也一直发送事件,知道所有事件发送完成
      • —ignore-timeouts 忽视超时导致的错误,即ANR的错误
      • —ignore-security-exceptions 忽视权限方面的错误
      • —monitor-native-crashes 监控由 C/C++ 代码引起的 crash
      • —ignore-native-crashes 忽视由 C/C++ 代码引起的 crash
      • —kill-process-after-error 当出现错误后杀掉应用的进程
      • —hprof 指定该选项后,monkey会在发送事件完成后生成性能报告,报告一般存放于/data/misc目录下,对报告的分析,需要使用Traceview
      • —pct-touch 设定 touch 事件比例
      • —pct-motion 设定手势事件比例,例如滑动事件
      • —pct-trackball 设定跟踪球事件的比例
      • —pct-syskeys 设定系统按键事件的比例,如 Home、Back、音量+/-等
      • —pct-nav 设定”基本”导航事件的比例
      • —pct-majornav 设定”主要”导航事件比例
      • —pct-appswitch 设定启动 Activity 的事件比例
      • —pct-pinchzoom 设定缩放事件比例
      • —pct-anyevent 设定其他事件比例
      • -s 设定种子数,方便用于重现 bug
      • -v 设定输出信息的详细级别,1个 -v 表示级别为1,2个 -v 表示级别为2
      • —throttle 设定事件之间的延时,单位为毫秒
      • COUNT 事件数目

    结束Monkey进程

    执行 Monkey 的过程中如果想中途停止 Monkey 程序的运行,需要将 Monkey 的进程杀掉。

    • windows 下使用findstr,linux/mac 下用grep
    • 执行adb shell ps | findstr monkey
    • 获取到 monkey 进程的 pid 之后运行adb shell kill 进程ID
    • 0
      点赞
    • 2
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值