Android自动化测试之Monkey

猴子是一个命令行工具,它可以运行在任何模拟器实例或设备上。它向系统发送伪随机的用户事件流,作为一个压力测试的应用软件开发。
 

猴子包含许多选项,但是他们分解成四个主要类别:
1.基本配置选项,如设置事件的数量。
2.操作的限制,例如限制测试到一个包中。
3.事件类型和频率。
4.调试选项。

 

猴子在运行时,会生成事件,并将它们发送给系统。它还观察被测试的系统和寻找三个特别的条件:
1.如果你有约束猴子运行在一个或多个特定的包,它会试图导航到其他包和块。
2.如果您的应用程序崩溃或接收任何类型的未处理的异常,猴子将停止并报告错误。
3.如果您的应用程序生成一个应用程序没有响应错误,猴子将停止并报告错误。
根据详细程度选择,你还会看到猴子的进展报告和生成的事件。

 

你可以使用命令行启动猴子在开发机器上或从一个脚本。因为猴子在模拟器/设备运行环境中,你必须启动shell在这种环境下。你可以通过adb shell 命令去控制,或直接进入猴子命令。
1)基本语法如下:
$ adb shell monkey [options] <event-count>
下面是一个精确指定的例子:
$ adb shell monkey -p com.you.package -v 500
- p 指定你要测试的安装包名
- v 指定你要测试的次数

没有指定选项,猴子将启动在一个安静的(non-verbose)模式,并将发送事件到你设备中任意的安装包。

事件类型

-s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200

--throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
--pct-touch:指定触摸事件的百分比,如:--pct-touch 5% , 相关的还有以下option:
--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>(任意事件)

调试选项

--dbg-no-events:初始化启动的activity,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告  —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。


工作中为了保证测试数量的完整进行,我们一般不会在发生错误时立刻退出压力测试。monkey 测试命令如下
adb shell monkey -p com.xy.test -s 200 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt
monkey 作用的包:com.xy,test
产生时间序列的种子值:200
忽略崩溃异常 忽略超时 监听本地方法异常 详细信息级别2  产生10000个随机事件 日志输出打印到E:\ 目录下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值