Android Monkey的用法
2016-05-20 12:46
513 查看
from:http://xuxu1988.com/2015/05/14/2015-05-02-Monkey/
Monkey 简介
Monkey官方文档(需要翻墙)
Monkey
源码
Monkey 是一个命令行工具,可以运行在 Android 模拟器里或真实设备中。它可以向系统发送
伪随机(pseudo-random)的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对待测的目标应用或整个
Android 系统进行压力测试。因此 Monkey 测试是一种为了测试软件的稳定性、健壮性的快速有效的方法
基本语法:
1 | $ adb shell monkey [options] <event-count> |
options,即类似于使用命令
adb shell monkey 1000,那么将会对整个系统中安装的 package 发送事件流,换种说法就是对整个 Android 系统进行 Monkey 压力测试
这是一个对指定应用(Android自带的
系统设置应用)进行 Monkey 测试的例子,发送的事件流数目为1000:
1 | adb shell monkey -p com.android.settings 1000 |
Monkey 命令选项
获取选项列表,Android 4.4版本中输入adb shell monkey,会显示选项列表如下:
12 | usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...] [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...] [--ignore-crashes] [--ignore-timeouts] [--ignore-security-exceptions] [--monitor-native-crashes] [--ignore-native-crashes] [--kill-process-after-error] [--hprof] [--pct-touch PERCENT] [--pct-motion PERCENT] [--pct-trackball PERCENT] [--pct-syskeys PERCENT] [--pct-nav PERCENT] [--pct-majornav PERCENT] [--pct-appswitch PERCENT] [--pct-flip PERCENT] [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT] [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE] [--pkg-whitelist-file PACKAGE_WHITELIST_FILE] [--wait-dbg] [--dbg-no-events] [--setup scriptfile] [-f scriptfile [-f scriptfile] ...] [--port port] [-s SEED] [-v [-v] ...] [--throttle MILLISEC] [--randomize-throttle] [--profile-wait MILLISEC] [--device-sleep-time MILLISEC] [--randomize-script] [--script-log] [--bugreport] [--periodic-bugreport] COUNT |
-p 允许的包名列表,可同时指定多个包名,每个包都需要使用“-p”参数指定。包名的获取,可参考 python 脚本get_package_name.py
—ignore-crashes 忽视应用 crash 报错,不指定该参数时,应用出现 crash,monkey 会自动停止发送事件,指定该参数后,mongkey 会在 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
以上转自:http://xuxu1988.com/2015/05/14/2015-05-02-Monkey/
------------------------------------------------------------------
1.另外两篇文章同样很不错:
Android命令Monkey压力测试,详解
Android测试教程10--monkeyTest
2.官方:https://developer.android.com/studio/test/monkey.html
3.看了根据上面文章,测试了下,效果一般吧
adb shell monkey -p com.xxx.player --monitor-native-crashes --kill-process-after-error --pct-touch 30 --pct-trackball 30 --pct-nav 30 -s 3 --throttle 500 -v -v -v 50000
相关文章推荐
- 【Android学习札记】数据类型
- Android 图片闪烁(延迟切换)
- android获取拍照图片、本地图片简单实现!
- 搭建Android 5.0开发环境
- 你真的会用Retrofit2吗?Retrofit2完全教程
- Android Studio----- 无法打印---log----问题总结----华为坑深
- android开发中常用的资料
- android 登录界面功能实现
- Android显示一张很长的图
- geekband android #5 第十二周分享(GC、内存优化、过度绘制等)
- 手把手教你写框架之ShykyAnnotations - 工程搭建
- android github框架大全
- Android平板设备上的数字小键盘自定义控件的实现(非弹出软键盘)
- MpAndroidChart强大的图表功能
- Android 点击按钮上面显示水波状
- Android 启动activity的4种方式及打开其他应用的activity的坑
- 了解使用Android ConstraintLayout
- Android数据存储之Sqlite采用SQLCipher数据库加密实战
- Android ViewPager 循环轮播
- Android参考资料