zoukankan      html  css  js  c++  java
  • Monkey常用命令详解

    使用monkey help 命令查看命令参数,如下:

    C:Userschenfenping>adb shell monkey -help
    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

    复制代码

    1 参数: -p

    用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,monkey将只允许系统启动指定的APP,如果不指定包,将允许系统启动设备中的所有APP.

    * 指定一个包: adb shell monkey -p cn.emoney.acg 10
    * 指定多个包:adb shell monkey -p cn.emoney.acg –p cn.emoney.wea -p cn.emoney.acg 100
    * 不指定包:adb shell monkey 100

    2 参数: -v

    用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:

    复制代码
    日志级别 Level0 
    示例 adb shell monkey -p cn.emoney.acg –v 100
    说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息
    
    日志级别 Level 1
    示例 adb shell monkey -p cn.emoney.acg –v -v 100
    说明 提供较为详细的日志,包括每个发送到Activity的事件信息
    
    日志级别 Level 2
    示例 adb shell monkey -p cn.emoney.acg –v -v –v 100
    说明 最详细的日志,包括了测试中选中/未选中的Activity信息
    复制代码

    3 参数: -s

    用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

    Monkey 测试1:adb shell monkey -p cn.emoney.acg –s 10 100
    Monkey 测试2:adb shell monkey -p cn.emoney.acg –s 10 100

    两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。


    4 参数: --throttle <毫秒>

    用于指定用户操作(即事件)间的时延,单位是毫秒;

    adb shell monkey -p cn.emoney.acg –throttle 5000 100

    5 参数: --ignore-crashes

    用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

    adb shellmonkey -p cn.emoney.acg --ignore-crashes 1000
    测试过程中即使acg程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止
    adb shellmonkey -p cn.emoney.acg 1000 测试过程中,如果acg程序崩溃,Monkey将会停止运行

    6 参数: --ignore-timeouts

    用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。

    adb shellmonkey -p cn.emoney.acg --ignore-timeouts 1000

    7 参数: --ignore-security-exceptions

    用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。

    adb shellmonkey -p cn.emoney.acg --ignore-security-exception 1000


    8 参数: --kill-process-after-error


    用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态

    (注意:应用程序仅是静止在发生错误时的状态,系统并不会结束该应用程序的进程)。

    adb shellmonkey -p cn.emoney.acg --kill-process-after-error 1000


    9 参数: --monitor-native-crashes

    用于指定是否监视并报告应用程序发生崩溃的本地代码。

    adb shellmonkey -p cn.emoney.acg --monitor-native-crashes 1000

    10 参数: --pct-{+事件类别}{+事件类别百分比}

    用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
    示例:
    --pct-touch {+百分比}
    调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)

    adb shell monkey -p cn.emoney.acg --pct-touch 10 1000


    --pct-motion {+百分比}
    调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)

    adb shell monkey -p cn.emoney.acg --pct-motion 20 1000


    --pct-trackball {+百分比}
    调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)

    adb shell monkey -p cn.emoney.acg --pct-trackball 30 1000


    --pct-nav {+百分比}

    调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)

    adb shell monkey -p cn.emoney.acg --pct-nav 40 1000


    --pct-majornav {+百分比}
    调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)

    adb shell monkey -p cn.emoney.acg --pct-majornav 50 1000


    --pct-syskeys {+百分比}
    调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)

    adb shell monkey -p cn.emoney.acg --pct-syskeys 60 1000

    --pct-appswitch {+百分比}
    调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法

    adb shell monkey -p cn.emoney.acg--pct-appswitch 70 1000


    --pct-anyevent {+百分比}
    调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等

    adb shell monkey -p cn.emoney.acg


    --pct -anyevent 100 1000* 指定多个类型事件的百分比:

    adb shell monkey -p cn.emoney.acg --pct-anyevent 50 --pct-appswitch 50 1000
  • 相关阅读:
    [BZOJ1657] [Usaco2006 Mar] Mooo 奶牛的歌声 (单调栈)
    [BZOJ1016] [JSOI2008] 最小生成树计数 (Kruskal)
    [BZOJ1015] [JSOI2008] 星球大战starwar (并查集)
    [BZOJ1007] [HNOI2008] 水平可见直线 (凸包)
    [BZOJ1061] [Noi2008] 志愿者招募 (费用流)
    [BZOJ1051] [HAOI2006] 受欢迎的牛 (强联通分量)
    BZOJ2299: [HAOI2011]向量
    BZOJ2783: [JLOI2012]树
    BZOJ3521: [Poi2014]Salad Bar
    BZOJ2429: [HAOI2006]聪明的猴子
  • 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/8136491.html
Copyright © 2011-2022 走看看