可以通过开发机器上的命令行或脚本来启动Monkey。由于Monkey运行在模拟器/设备环境中,所以必须用其环境中的shell来进行启动。可以通过在每条命令前加上adb shell来达到目的,也可以进入Shell后直接输入Monkey命令。基本语法如下:
$ adb shell monkey [options]
如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件:
$ adb shell monkey -p your.package.name -v 500

You can launch the Monkey using a command line on your development machine or from a script. Because the Monkey runs in the emulator/device environment, you must launch it from a shell in that environment. You can do this by prefacing adb shell to each command, or by entering the shell and entering Monkey commands directly.

The basic syntax is:

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

With no options specified, the Monkey will launch in a quiet (non-verbose) mode, and will send events to any (and all) packages installed on your target. Here is a more typical command line, which will launch your application and send 500 pseudo-random events to it:

$ adb shell monkey -p your.package.name -v 500

命令选项参考

--help
列出简单的用法。

-v
命令行的每一个-v将增加反馈信息的级别。Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息。Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。

事件
-s <seed>
伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列。

--throttle <milliseconds>
在事件之间插入固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定该选项,Monkey将不会被延迟,事件将尽可能快地被产成。

--pct-touch <percent>
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)。

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

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

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

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

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

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

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

约束限制
-p <allowed-package-name>
如果用此参数指定了一个或几个包,Monkey将只允许系统启动这些包里的Activity。如果你的应用程序还需要访问其它包里的Activity(如选择取一个联系人),那些包也需要在此同时指定。如果不指定任何包,Monkey将允许系统启动全部包里的Activity。要指定多个包,需要使用多个 -p选项,每个-p选项只能用于一个包。

-c <main-category>
如果用此参数指定了一个或几个类别,Monkey将只允许系统启动被这些类别中的某个类别列出的Activity。如果不指定任何类别,Monkey将选 择下列类别中列出的Activity: Intent.CATEGORY_LAUNCHER或Intent.CATEGORY_MONKEY。要指定多个类别,需要使用多个-c选项,每个-c选 项只能用于一个类别。

调试
--dbg-no-events
设置此选项,Monkey将执行初始启动,进入到一个测试Activity,然后不会再进一步生成事件。为了得到最佳结果,把它与-v、一个或几个包约 束、以及一个保持Monkey运行30秒或更长时间的非零值联合起来,从而提供一个环境,可以监视应用程序所调用的包之间的转换。

--hprof
设置此选项,将在Monkey事件序列之前和之后立即生成profiling报告。这将会在data/misc中生成大文件(~5Mb),所以要小心使用它。

--ignore-crashes
通常,当应用程序崩溃或发生任何失控异常时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

--ignore-timeouts
通常,当应用程序发生任何超时错误(如“Application Not Responding”对话框)时,Monkey将停止运行。如果设置此选项,Monkey将继续向系统发送事件,直到计数完成。

--ignore-security-exceptions
通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。

--kill-process-after-error
通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。当设置了此选项时,将会通知系统停止发生错误的进程。注意,正常的(成功的)结束,并没有停止启动的进程,设备只是在结束事件之后,简单地保持在最后的状态。

--monitor-native-crashes
监视并报告Android系统中本地代码的崩溃事件。如果设置了--kill-process-after-error,系统将停止运行。

--wait-dbg
停止执行中的Monkey,直到有调试器和它相连接。

转载于:https://blog.51cto.com/xqtesting/1430654

Monkey基本用法与常用参数相关推荐

  1. 理解echo openssl概念、用法、常用参数

    echo(维基百科) Echo是三毛的英文名,在计算机世界里,主要有两个意思: 用以显示一行文字的命令 NextApp公司研发的网络应用程序框架 主要关注第一种(维基百科):echo是一个DOS.OS ...

  2. Android 系统(212)---monkey实战–测试步骤、常用参数、常规monkey命令

    monkey实战–测试步骤.常用参数.常规monkey命令 [转]monkey实战–测试步骤.常用参数.常规monkey命令 ***(本文转自:https://blog.csdn.net/u01164 ...

  3. 【Linux】Rsync基于SSH认证的使用(rsync 命令属于1 v 4 的命令、rsync常用参数基本用法)

    一.Rsync基于SSH认证的使用 rsync 默认使用 ssh 协议进行远程登录和数据传输.远程主机需要开启 sshd 服务,rsync 在传输数据之前会先与远程主机进行一次 ssh 登录认证,然后 ...

  4. monkey测试入门2--测试步骤、常用参数、常规monkey命令

    <凤栖梧> 柳永 伫倚危楼风细细,望极春愁,黯然生天际.草色烟光残照里,无言谁会凭栏意? 拟把疏狂图一醉,对酒当歌,强乐还无味,衣带渐宽终不悔,为伊消得人憔悴. 简要步骤:adb devi ...

  5. swagger 接口参数顺序_Swagger常用参数用法 - mao2080 - 博客园

    别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处: http://www.cnblogs.com/ ...

  6. SAP PARAMETERS常用参数(User-Command、Function Key、Push Button用法)

    PARAMETERS常用参数 PARAMETERS参数 说明 DEFAULT 'A' 设置初始值 TYPE CHAR10 利用ABAP数据字典的数据类型 LENGTH n 适用于C.N.X.P类型 D ...

  7. dataTables常用参数

    一.新版本和老版本的区别 新版本的改进:https://datatables.net/new/1.10 新老版本参数变化列表:http://datatables.club/upgrade/1.10-c ...

  8. Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

    两年半前写的关于Maven的介绍,现在看来都还是不错的,自己转下.写博客的一大好处就是方便自己以后查阅,自己总结的总是最靠谱的. 由浅入深,主要介绍maven的用途.核心概念(Pom.Reposito ...

  9. JVM常用参数与工具

    原文出处:http://www.cnblogs.com/zhguang/p/java-jvm-gc.html 目录 参数设置 收集器搭配 启动内存分配 监控工具和方法 调优方法 调优实例       ...

最新文章

  1. python中dom是什么意思_python--BOM和DOM
  2. SAP MM 工序委外流程初探
  3. Spring注解@Value获取属性文件值且解决在controller无法获取到值的问题
  4. 【图数据结构的遍历】java实现广度优先和深度优先遍历
  5. 第14、15教学周作业
  6. python 函数参数传递机制_Python函数参数传递机制(超级详细)
  7. 【NLP保姆级教程】手把手带你CNN文本分类(附代码)
  8. 【jQuery学习】—jQuery操作元素位置
  9. dout java,java socket 发送文件
  10. numpy-np.Inf
  11. 引用Interop.SQLDMO.dll后的注意事项。
  12. BNU10782被诅咒的代码
  13. MATLAB--求一个矩阵中所有元素的平均值
  14. Python基础实战之文字游戏——模拟武侠类场景中的两派战斗场面
  15. python日程表代码_【算法提高班】《我的日程安排表》系列
  16. cad引出线段lisp_lisp将多条线条合并成一条多段线
  17. 栅栏布局合并html,arcgis栅格数据合并 arcgis栅格图像拼接步骤
  18. Linux云计算架构师进阶班-Docker-K8s-Devops-Openstack
  19. node-red教程 8.2 node-red收发邮件(基于QQ邮箱)
  20. Redis监控汇总一

热门文章

  1. linux分辨率高字体小 redhat,为Redhat Enterprise Linux的两个字体子系统添加字体
  2. poi获取段落位置_Apache POI:从java中的word文档(docx)中提取段落和后续表格
  3. halcon的算子清点: Chapter 2-3-4 控制、开发、文件操作
  4. pycharm更改模板_pycharm怎样给文件编辑统一的模板?
  5. python 爬虫提取王者荣耀英雄皮肤
  6. 服务器不能显示中文,彻底解决delphi WebBroker服务器中文乱码 delphi WebBroker服务器不能显示中文网页 WebBroker中文显示乱码...
  7. reg型变量怎么赋值_UiPath变量的介绍和使用
  8. 1—YOLO2:环境搭建
  9. SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
  10. Spring - Java/J2EE Application Framework 应用框架 第 18 章 使用Quartz或Timer完成时序调度工作