Android压力测试工具——Monkey
Monkey是运行在模拟器上和真机设备上的一段程序,它会产生用户事件的一系列伪随机流,比如点击、触摸、手势,还有很多系统级别的事件。Monkey通常是用来做应用的压力测试的,通过一种随机且大量重复的方式。
Overview
Monkey是一个命令行工具,可以运行在模拟器或者真实设备上。
它发送用户事件的伪随机流,向目标应用软件发起压力测试。
Monkey包含一些选项,它们主要分为四个基本类型:
基本配置选项:比如要发送的事件总数。
操作限制:比如可以限制测试一个单独的包。
事件类型和频率。
Debug选项。
当Monkey运行的时候,它会生成事件,把它们发给系统。
同时Monkey也会监测系统在测试下的表现,寻找三种情况,Monkey会特殊处理:
1.如果你限定了Monkey在某个或者某些特定的包内,它会注意观察有没有一些企图导航进入其他包的情况,然后block它们。
2.如果你的应用崩溃了或者接收到了一些未处理的异常,Monkey将会停止运行,然后报告错误。
3.如果你的应用产生了ANR(Application Not Responding)的错误,Monkey也会停止,然后报告错误。
根据选择的详细级别不同,在Monkey运行过程中你将会看到报告和产生的随机事件。
Monkey的基本使用
可以通过脚本或命令行工具来运行Monkey,因为Monkey运行在模拟器或设备的环境中,你必须通过该环境的shell来运行Monkey。
比如可以一句话完成:
$ adb shell monkey [options] <event-count>
当不设置任何选项时,Monkey将会以安静模式启动(non-verbose),它将会向设备上安装的所有包发送事件。
一个更典型的用法如下:
$ adb shell monkey -p your.package.name -v 500
它将会启动你的应用,然后发送500个随机事件给它。
Command Options Reference
命令选项如下,为了图省事直接截图了:
一般类:
事件:
限制:
调试: