android monkey测试应用,Android Monkey 测试

Monkey 简介

Monkey是``Android中的一个命令行工具,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。

质量要求

版本release(发布)前,Monkey跑出来的结果中crash要为0,final release前,Monkey跑完的总次数应为25W,结果里不允许有NullPointException出现。

命令参数

adb shell命令模式下输入:monkey

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]

[--pct-permission 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]

[--permission-target-system]

COUNT

参数含义:

--hprof:指定该项后在事件序列发送前后会立即生成分析报告,一般建议指定该项

--ignore-crashes:忽略崩溃

--ignore-timeouts:忽略超时

--ignore-security-exceptions:忽略安全异常

--kill-process-after-error:发生错误后直接杀掉进程

--monitor-native-crashes:跟踪本地方法的崩溃问题

--wait-dbg:直到连接了调试器才执行Monkey测试

--dbg-no-events:初始化启动的activity,但是不产生任何事件。

--pct-touch PERCENT:指定触摸事件的百分比:--pct-touch 5%

--pct-motion PERCENT:滑动事件

--pct-trackball PERCENT:轨迹球事件

--pct-nav PERCENT:导航事件up/down/left/right

--pct-majornav PERCENT:主要导航事件back key、menu key

--pct-syskeys PERCENT:系统按键事件Home、Back、startCall、endCall、volumeControl

--pct-appswitch PERCENT:activity之间的切换

--pct-anyevent PERCENT:任意事件

最简单命令

在adb shell模式下执行。

执行1000次monkey点击

monkey 1000

-p 参数

用于约束限制,用此参数指定一个或者多个包,指定包之后,Monkey将只允许启动指定App,如果不指定包,Monkey将启动系统中所有的App。

monkey -p com.example.test 1000

-v 参数

用于指定反馈的信息级别(日志的详细程度),分为三个级别,级别越高,日志越详细。

monkey -p com.example.test -v 1000

monkey -p com.example.test -v -v 1000

monkey -p com.example.test -v -v -v 1000

-s 参数

指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试产生的事件序列也相同。

monkey -p com.example.test -s 30 -v 1000

--throttle 参数

制定每个事件结束后的间隔时间,降低系统压力,单位:毫秒。

如果不指定系统会尽快的发送事件序列。

monkey --throttle 1000

导出测试日志

需退出shell命令,在cmd或bash模式下执行。shell命令相当于进入Linux的root下面,没有权限在里面创建文件。

adb shell monkey -v -v -v 1000 > D:\monkey_log\test.txt

标准流与错误流分开保存

monkey [option] 1>/mnt/sdcard/monkey.txt 2>/mnt/sdcard/error.txt

monkey -v -v -v 1000 1>D:/normal.txt 2>D:/error.txt

停止 Monkey

进入adb shell模式

ps | grep monkey

找出monkey的pid

kill pid

防止 Monkey点击状态栏,虚拟按键

需在开发者选项中打开USB调试(安全设置)

隐藏

adb shell settings put global policy_control immersive.full=*

恢复

adb shell settings put global policy_control null

示例

monkey -p com.android.contacts --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --monitor-native-crashes -v -v -v 300000 1>/sdcard/20190409_normal.txt 2>/sdcard/20190409_error.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值