Monkey是Android系统自带的一个命令行工具,用户主要是通过adb命令来启动Monkey,Monkey在运行时,会根据命令行参数的配置,生成伪随机事件流,并在Android设备上执行对应的测试事件。同时,Monkey还会对测试系统进行监测

Monkey综合示例:

例子:adb shell monkey -p com.macrovideo.v380pro --ignore-crashes --ignore-timeouts --kill-process-after-error --ignore-security-exceptions --throttle 1000 -v -v -v -s 5 100 > E:\log.txt

这条命令就是向系统发送100次随机事件,各随机事件的时间间隔为1秒钟,它的种子时5,测试过程中忽略相关的安全、

超时、崩溃等异常。

输出Monkey的命令行使用方法:

——  -v  表示反馈信息的级别,Monkey命令行中每增加一个-v参数,Monkey日志反馈信息的级别就会对应增加一个Level

——  -s  <seed>伪随机数生成器的种子值,如果用相同的种子值再次运行Monkey

——  --throttle<milliseconds>  在事件之间插入固定延迟,通过这个选项可以减缓Monkey的执行速度。

如果不指定该选项,Monkey将不会被延迟,事件将会尽可能快地被生成

——  --pct-touch<percent>  设定触摸事件的百分比

——  --pct-motion< percent > 设定滑动事件的百分比

——  --pct-pinchzoom< percent> 设定二指缩放事件的百分比

——  --pct-trackball< percent> 设定轨迹事件的百分比

——  --pct-rotation< percent > 设定屏幕旋转事件的百分比

——  --pct-nav< percent > 设定基本导航事件的百分比(现在的手机上很少有上、下、左、右按键)

——  --pct-majornav< percent > 设定主要导航事件的百分比

——  --pct-syskeys< percent > 设定系统按键事件的百分比

——  --pct-appswitch< percent> 设定启动Activity事件的百分比,启动Activity事件是指在手机上启动一个Activity的操作

——  --pct-flip< percent > 设定键盘事件的百分比

——  --pct-anyevent< percent > 设定其他类型事件的百分比

——  -p<包名>  如果用此参数指定了一个或几个包(Package,即App)

——  -c<类别名> 如果此参数指定了一个或几个类别(Category),Monkey将只允许系统

启动被这些类别中的某个类别列出的Activity

——  --dbg-no-events 设置此选项,Monkey将执行初始启动,进入一个测试Activity,不会再进一步生成事件

——  --hprof 设置此选项,将在Monkey事件执行之前和执行之后生成内存快照文件存放于手机的data/misc目录(慎用)

——  --ignore-crashes  通常,当应用程序崩溃或发生任何失控异常时,Monkey将停止运行

如果设置此选项,Monkey将继续向系统发送事件,直到计数完成

——  --ignore-timeouts 通常,当应用程序发生任何超时错误(如出现“Application Not Responding”对话框)时,Monkey将停止运行。

如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成

——  --ignore-security-exceptions  通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity),Monkey将停止运行。

如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成

——  --kill-process-after-error 通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。

当设置了此选项时,将会通知系统停止发生错误的进程。

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

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

停止Monkey的方法是:

直接杀掉手机上的Monkey进程。具体方法: 先adb shell  再ps | grep monkey   最后kill <pid>

日志异常信息查找:

Monkey执行过程中常见的错误类型主要有两类:应用程序无响应(ANR)和崩溃(Crash)。

ANR是指当Android系统监测到应用程序在5秒内没有响应输入的事件或广播在10秒内没有执行完毕时抛出无响应提示。

Crash是指当应用程序出现错误时导致程序异常停止或退出的情况。

要统计Monkey日志中错误出现的次数只要搜索关键字“ANR”和“CRASH”出现的次数即可。

monkey详解的更多相关文章

  1. android压力测试命令monkey详解

    一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...

  2. android压力测试命令monkey详解【转】

    本文转载自:http://www.jb51.net/article/48557.htm 作者: 字体:[增加 减小] 类型:转载 时间:2014-03-29我要评论 这篇文章主要介绍了android ...

  3. [Android 测试] 压力稳定性测试之: Monkey 详解分析脚本(转载)

    一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看app会不会奔溃,能不能维持正常运行. 二. Money是什么? Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模 ...

  4. monkey 命令详解

    monkey命令详解   1.  $ adb shell monkey <event-count>                <event-count>是随机发送事件数 例 ...

  5. Android命令Monkey压力测试,详解

    一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...

  6. monkey 原理,环境搭建、命令详解

    一.monkey测试的相关的原理 monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常.当Monkey程序在模拟器或设备运行的时候, ...

  7. monkey命令详解《转载》

    monkey命令详解: https://blog.csdn.net/a136332462/article/details/76014412

  8. Memcache的使用和协议分析详解

    Memcache的使用和协议分析详解 作者:heiyeluren博客:http://blog.csdn.NET/heiyeshuwu时间:2006-11-12关键字:PHP Memcache Linu ...

  9. SSL/TLS 原理详解

    本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1 ...

随机推荐

  1. 方正科技win7重装系统

    1.制作装机版U盘启动盘 老毛桃装机版制作启动U盘教程 http://www.laomaotao.org/jiaocheng/92/upqdzz.html 2.下载系统镜像文件保存至U盘启动盘 MSD ...

  2. linux 远程配置docker加速器

    https://www.jianshu.com/p/dca49964af04 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh ...

  3. es聚合学习笔记

    聚合可以做什么? count avg filter and count 每月新增 top 是否存在不正常或不符合规则的数据 关键概念 Buckets group by 将数据按某种标准划分成不同集合 ...

  4. Web界面开发必看!Kendo UI for jQuery编辑功能指南第一弹

    Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...

  5. Java开发必备技能!Eclipse快捷方式助力提升开发效率

    插件开发快捷方式 注意:包括org.eclipse.pde.runtime插件,用于Plug-in Spy功能. Shift + Alt + F1—Plug-in Selection Spy. Shi ...

  6. 题解 【POJ1952】 BUY LOW, BUY LOWER

    题目意思: 给你一个长度为\(n\)(\(1<=n<=5000\))的序列,并求出最长下降子序列的长度及个数, 并且,如果两个序列中元素的权值完全相同,那么即使它们的位置不一样,也只算一种 ...

  7. react入门及简单配置

    直接script引入的不说了 1.npm i -g create-react-app 2.create-react-app my-app (其中my-app为项目名称) 3.进入项目cd my-app ...

  8. 9种纯CSS3人物信息卡片动态展示效果

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  9. 【Python之路】特别篇--Python面向对象(初级篇)

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...

  10. 打开图像文件失败汇总:“Could not load image... ...0x## 0x##”错误

    造冰箱的熊猫@cnblogs 2018/12/15 在Ubuntu上使用Image Viewer打开图片文件时,有时会遇到“Could not load image '001.jpg'. Error ...