Android Monkey的用法(一)
Monkey 简介
ü Monkey 是一个命令行工具,可以运行在 Android 模拟器里或真实设备中。它可以向系统发送伪随机(pseudo-random)的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对待测的目标应用或整个 Android 系统进行压力测试。因此 Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法
ü 基本语法:adb shell monkey [options] <event-count>
如果不指定options,即类似于使用命令adb shell monkey 1000,那么将会对整个系统中安装的 package 发送事件流,换种说法就是对整个 Android 系统进行 Monkey 压力测试
如下是对指定应用(第三方应用易测app)进行 Monkey 测试的例子,发送的事件流数目为1000:
adb shell monkey -p com.alibaba.easytest 1000
1|root@generic:/ #
monkey -p com.alibaba.easytest 1000
monkey -p
com.alibaba.easytest 1000
// activityResuming(com.alibaba.easytest)
// activityResuming(com.alibaba.easytest)
// activityResuming(com.alibaba.easytest)
// activityResuming(com.alibaba.easytest)
Events injected:
1000
## Network stats:
elapsed time=40435ms (40435ms mobile, 0ms wifi, 0ms not connected)

Monkey 命令选项
ü 获取选项列表,Android 4.4版本中输入adb shell monkey,会显示选项列表如下:使用getprop获取版本号

ü 常用选项及参数说明
ü -p 允许的包名列表,可同时指定多个包名,每个包都需要使用“-p”参数指定。包名的获取,可参考 python 脚本get_package_name.py
ü —ignore-crashes 忽视应用 crash 报错,不指定该参数时,应用出现 crash,monkey 会自动停止发送事件,指定该参数后,monkey 会在 crash 后也一直发送事件,知道所有事件发送完成
ü —ignore-timeouts 忽视超时导致的错误,即ANR的错误
ü —ignore-security-exceptions 忽视权限方面的错误
ü —monitor-native-crashes 监控由 C/C++ 代码引起的
crash
ü —ignore-native-crashes 忽视由 C/C++ 代码引起的
crash
ü —kill-process-after-error 当出现错误后杀掉应用的进程
ü —hprof 指定该选项后,monkey会在发送事件完成后生成性能报告,报告一般存放于/data/misc目录下,对报告的分析,需要使用Traceview
ü —pct-touch 设定 touch 事件比例
ü —pct-motion 设定手势事件比例,例如滑动事件
ü —pct-trackball 设定跟踪球事件的比例
ü —pct-syskeys 设定系统按键事件的比例,如 Home、Back、音量+/-等
ü —pct-nav 设定”基本”导航事件的比例
ü —pct-majornav 设定”主要”导航事件比例
ü —pct-appswitch 设定启动 Activity 的事件比例
ü —pct-pinchzoom 设定缩放事件比例
ü —pct-anyevent 设定其他事件比例
ü -s 设定种子数,方便用于重现 bug
ü -v 设定输出信息的详细级别,1个
-v 表示级别为1,2个 -v 表示级别为2
ü —throttle 设定事件之间的延时,单位为毫秒
ü COUNT 事件数目
结束Monkey进程
执行
Monkey 的过程中如果想中途停止 Monkey 程序的运行,需要将 Monkey 的进程杀掉。
ü windows 下使用findstr,linux/mac 下用grep
ü 执行adb shell ps |
findstr monkey
ü 获取到 monkey 进程的 pid 之后运行adb shell kill 进程ID
Android Monkey的用法(一)的更多相关文章
- Android monkey介绍
Android monkey介绍 原文地址 1 简略 monkey是android下自动化测试比较重要的的一个工具,该工具可以运行在host端或者设备(模拟器或真实设备).它会向系统发送随机事件流(即 ...
- Android Monkey Test
Monkey测试是Android自动化测试的一种手段,Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常.当Monkey程序在模拟器或设备运行的时候, ...
- 【转】Android Monkey 命令行可用的全部选项
常规 事件 约束限制 调试 原文参见:http://www.douban.com/note/257030384/ 常规 –help 列出简单的用法. -v 命令行的每一个 -v 将增加反馈信息的级别. ...
- 【Android学习】android:layout_weight的用法实例
对于android:layout_weight的用法,用下面的例子来说明: <LinearLayout xmlns:android="http://schemas.android.co ...
- Android之Adapter用法总结-(转)
Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...
- Android之Adapter用法总结(转)
Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的View(List View,Grid Vie ...
- Android webservice的用法详细讲解
Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...
- 如何停止Android Monkey脚本
如何停止Android Monkey脚本 最近用monkey来包apk的性能测试,发现一旦monkey跑起来以后,即使将数据线和PC断开,monkey脚本还是会继续运行下去.结果找到了一个办法去停止它 ...
- Android之Adapter用法总结
http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器 ...
随机推荐
- [转载]MGR变量group_replication_primary_member
组复制的状态变量只有一个,目前在8.0.17这个版本上还是存在的,未来会被废弃掉,我们在单主的模式下,可以用来查看哪个节点是读写节点. mysql: [Warning] Using a passwor ...
- Dockerfile优化
总结: 1.编写.dockerignore文件 2.容器只运行单个应用 3.将多个RUN指令合并为一个 4.基础镜像的标签不要用latest 5.每个RUN指令后删除多余文件 6.选择合适的基础镜像( ...
- Linux系统学习 十三、VSFTP服务—相关文件
常见的FTP服务器程序 IIS.Serv-U (windwards中) wu-ftpd(淘汰了).Proftpd (Linux中) vsftpd(Very Secure ...
- 《数据挖掘导论》实验课——实验四、数据挖掘之KNN,Naive Bayes
实验四.数据挖掘之KNN,Naive Bayes 一.实验目的 1. 掌握KNN的原理 2. 掌握Naive Bayes的原理 3. 学会利用KNN与Navie Bayes解决分类问题 二.实验工具 ...
- 浅谈python面向对象编程和面向过程编程的区别
面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候再一个个的依次调用即可. 优点:性能高 缺点:相较于面向对象而言,不易维护,不易复用,不易扩展 适合于小型的项目面向对象 ...
- str函数之不同变量之间如何连接,外加浮点运算注意事项
最近看书了解到不同字符串之间可以用“+”号来连接,遂思考如何将不同变量连接起来,思考试验并上网查询后得出了结果,在此将所学分享给在阅读的各位. 数据类型的转换 常识可知,在python中,不同的数 ...
- H5移动端开发遇见的东西
常见的有viewport.强制浏览器全屏.IOS的Web APP模式.可点击元素出现阴影 本文主要讲一些其他的或者实用的优化手段. 1. 弹出数字键盘 <!-- 有"#" & ...
- 01-Vue.js基础
一.Vue基础 1.介绍 Vue是一套用于构建用户界面的渐进式框架.Vue的核心库只关注视图层,不仅容易上手,还便于与第三方库或既有的项目整合.兼容性:Vue 不支持 IE8 及以下版本,因为 Vue ...
- 如何开启php错误日志
nginx与apache不一样,在apache中可以直接指定php的错误日志,那样在php执行中的错误信息就直接输入到php的错误日志中,可以方便查询. 在nginx中事情就变成了这样:nginx只对 ...
- 松软科技web课堂:JavaScript 数组方法
JavaScript 数组的力量隐藏在数组方法中. 把数组转换为字符串 JavaScript 方法 toString() 把数组转换为数组值(逗号分隔)的字符串. 实例 var fruits = [& ...