monkey详解
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详解的更多相关文章
- android压力测试命令monkey详解
一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...
- android压力测试命令monkey详解【转】
本文转载自:http://www.jb51.net/article/48557.htm 作者: 字体:[增加 减小] 类型:转载 时间:2014-03-29我要评论 这篇文章主要介绍了android ...
- [Android 测试] 压力稳定性测试之: Monkey 详解分析脚本(转载)
一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看app会不会奔溃,能不能维持正常运行. 二. Money是什么? Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模 ...
- monkey 命令详解
monkey命令详解 1. $ adb shell monkey <event-count> <event-count>是随机发送事件数 例 ...
- Android命令Monkey压力测试,详解
一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出 ...
- monkey 原理,环境搭建、命令详解
一.monkey测试的相关的原理 monkey测试的原理就是利用socket通讯的方式来模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常.当Monkey程序在模拟器或设备运行的时候, ...
- monkey命令详解《转载》
monkey命令详解: https://blog.csdn.net/a136332462/article/details/76014412
- Memcache的使用和协议分析详解
Memcache的使用和协议分析详解 作者:heiyeluren博客:http://blog.csdn.NET/heiyeshuwu时间:2006-11-12关键字:PHP Memcache Linu ...
- SSL/TLS 原理详解
本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1 ...
随机推荐
- 基于Hexo的个人博客搭建(下)
5.服务器端测试 —5.1 clone到/var/www/html git clone /home/git/repos/myblog.git /var/www/html chown -R git:g ...
- React组件:Dragact 0.1.4发布
Dragact 是一款React组件,他能够使你简单.快速的构建出一款强大的 拖拽式网格(grid)布局. 仓库地址:Dragact 经过几天的迭代时间Dragact已经能够支持自由缩放功能了(res ...
- 【Maven】-maven打包跳过javadoc
有时候由于代码中注释错误(比如方法参数)或者maven javadoc插件版本有问题,导致打包报错,而我们着急打包验证问题,没有时间一一修改错误,这时候可以先跳过生成javadoc,继续下一步工作. ...
- Vue上传通过“服务端签名后直传”上传文件到阿里云 报错 400 Bad Request
我报错的原因是 formData.append('file', file) 放在签名前面了 解决办法 formData.append('file', file) 一定在最后 /** * 上传文件到 o ...
- MySQL错误:ERROR 1067 (42000): Invalid default value for 'timestamp_field'
数据库报错 ERROR 1067 (42000): Invalid default value for 'start_time' 是因为数据库的配置有问题: 可以看到 NO_ZERO_IN_DA ...
- js差异化继承
var parentObj={ name:"123456", get_name:function(){ return this.name; }, says:function(){ ...
- HTML5上传超大文件解决方案
一.概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载.在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了.一般断点下载时才用到Range和Content- ...
- #7 div2 B Layer Cake 造蛋糕 智商题+1
B - Layer Cake Time Limit:6000MS Memory Limit:524288KB 64bit IO Format:%I64d & %I64u Sub ...
- codevs 1200 同余方程 2012年NOIP全国联赛提高组 x
/*我在提交的时候发现了一个特别好玩的事,有兴趣的话,可以自己尝试一下:把下面说的地方的y=0改为y=1在codevs里面能够ac,这……数据水?到一定境界……厉害了,吓得我还以为自己对了,结果一讲才 ...
- RabbitMQ安装遇到的问题及解决记录
提示:若是win10 请注意计算机名称不能有中文 安装Rabbit MQ 需要先安装 Erlang 这里下载版本Erlang OTP22.0 http://www.erlang.org/downloa ...