您的位置:首页 > 移动开发 > Android开发

Android测试-脚本测试-Monkey 的用法

2016-01-29 15:13 501 查看

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
3
4
5
6
7
8
9
10
1112
13
14
15
16
17
18
19
20
2122
23
24
25

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: