monkey命令

余生长醉 提交于 2020-01-27 07:33:04

monkey 参数

参数分类

  • 常规类参数
  • 事件类参数
  • 约束类参数
  • 调试类参数

常规类参数

常规类参数包括帮助参数和日志信息参数。帮助参数用于输出Monkey命令使用指导;日志信息参数将日志分为三个级别,级别越高,日志的信息越详细。

1.帮助类参数

monkey -h

2.日志级别

$ adb shell monkey -v <event-count>

-v:打印出日志信息,每个-v将增加反馈信息的级别。-v越多日志信息越详细,不过目前最多支持3个-v,即:

 

 

事件类参数

事件类参数的作用是对随机事件进行调控,从而使其遵照设定运行,如设置各种事件的百分比、设置事件生成所使用的种子值等。频率参数主要限制事件执行的时间间隔。

1.执行指定脚本

$ adb shell monkey -f <scriptfile> <event-count>
 
eg:
$ adb shell monkey -f /mnt/sdcard/test1

2.伪随机数生成种子值

使用 -s命令可以重复执行之前的伪随机操作。本身每次执行伪随机事件操作也会默认生成一个seed值

$ adb shell monkey -s <seed> <event-count>
 
eg:
$ adb shell monkey -s 666 100

3.设置间隔 如果你希望在每一个指令之间加上固定的间隔时间,可以用--throttle(注意,前面是--)命令。

$ adb shell monkey --throttle <milliseconds>
eg:
$ adb shell monkey --throttle 3000  5

--throttle:后面接时间,单位为ms(<milliseconds>),表示事件之间的固定延迟(即执行每一个指令间隔的时间),若不接该选项,monkey将不会延迟。

4. 调整触摸事件百分比:
    触摸事件:发生在某一位置的一个down-up事件
    adb shell monkey --pct-touch 百分比
 
5. 调整动作事件百分比:
    动作事件:在某一位置按下(down)后,经过一系列伪随机事件后抬起(up)
    adb shell monkey --pct-motion 百分比
 
6. 调整轨迹球事件百分比:
    轨迹球事件:一系列的随机移动,以及偶尔跟随在移动后面的点击事件
    adb shell monkey --pct-trackball 百分比
 
7. 调整基本导航事件百分比:
    基本导航事件:来自方向设备的上下左右事件
    adb shell monkey --pct-nav 百分比
 
8. 调整主要导航事件百分比:
    主要导航事件:引发图形界面的一些动作,比如安卓三大按键
    adb shell monkey --pct-majornav 百分比
 
9. 调整系统按键事件百分比:
    系统按键事件:仅供系统使用的保留按键,如HOME,BACK,拨号(start call),挂断(end call),音量键等等
    adb shell monkey --pct-syskeys 百分比
 
10. 调整应用启动事件百分比:
    应用启动事件就是打开应用,通过调用startactivity()方法最大限度启动该package下所有应用
    adb shell monkey --pct-appswitch 百分比
 
11. 调整其他类型事件百分比
    其他类型事件:除以上的所有按键
    adb shell monkey --pct-anyevent 百分比

 

约束类参数

1.包约束

-p:后面接一个或多个包名(<allowed-package-name>),如果应用需要访问其他包里的Activity,那相关的包也需要在此同时指定。如果不指定任何包,monkey将允许系统启动全部包里的Activity。

$ adb shell monkey -p <allowed-package-name> <event-count>
eg:
$ adb shell monkey -p com.tal.kaoyan 500
 
$ adb shell monkey -p com.tal.kaoyan -p com.tencent.mm 500

2.activity类约束

如果你希望将monkey限制在一个或几个类别中,使用如下命令:

adb shell monkey -c <main-category> <event-count>

以下命令表示运行Intent.CATEGORY_LAUNCHER类别的Activity并发送1000个随机事件。

$ adb shell monkey -c Intent.CATEGORY_LAUNCHER  1000

 

调试类参数

1.应用程序崩溃后继续发送事件

如果你希望monkey在应用程序崩溃后继续发送事件,则需要用到--ignore-crashes命令

$ adb shell monkey --ignore-crashes <event-count> 

在设置此选项后,当应用程序崩溃或发生失控异常时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到上述崩溃或异常将停止运行。

2.超时错误继续发送事件

如果你希望monkey在任何超时错误发生后继续发送事件,则需要用到--ignore-timeouts命令。

$ adb shell monkey --ignore-timeouts

<event-count>--ignore-timeouts:在设置此选项后,当应用程序发生任何超时错误(如ANR,即Application Not Responding)时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到此类超时对话框将停止运行。

3.应用程序权限错误发生后继续发送事件

如果你希望monkey在应用程序权限错误发生后继续发送事件,则需要用到--ignore-security-exceptions命令。

$ adb shell monkey --ignore-security-exceptions

<event-count>--ignore-security-exceptions:在设置此选项后,当应用程序发生任何权限错误(如启动一个需要某些权限的Activity)时,monkey将继续运行直到计数完成。如果不设置此选项,monkey遇到此类权限错误将停止运行。

4.其他

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!