monkey初识
android官网上关于monkey的介绍可以查看这里:
http://developer.android.com/tools/help/monkey.html
UI/Application Exerciser Monkey
Monkey是一段运行在模拟器或者实际设备中的程序,它可以生成伪随机的用户事件流,诸如:点击、触摸、手势等,也可以产生系统级事件。你能够以一种随机但是可重复的方式,使用monkey对你所开发的应用程序进行压力测试。
Overview
Monkey是一个可以运行在模拟器或者实际设备中的命令行工具。它可以向系统发送一系列伪随机的用户事件流,对你所开发的应用软件它可以充当一个压力测试的工具。
Monkey包含大量的参数,但基本上分为4类:
- 基本配置项,例如要进行的伪随机事件的个数
- 操作限制,要求被测对象要是一个单一的应用程序包
- 事件类型和频率
- 调试选项
当Monkey运行的时,它会产生一系列随机事件,并且将这些随机事件发送给系统。它也会实时跟踪被测系统,一旦发现有以下3种情况之一,便会进行特殊处理。
如果限制了monkey运行在一个或者几个特定的包上,那么它会监测试图转向其他包上的操作,并且对其进行阻止;
如果应用程序崩溃或者遇到任何无法处理的异常时,monkey会停止并且上报错误;
如果应用程序产生了应用程序无响应的错误时,monkey会停止并且上报这种错误。
Depending on the verbosity level you have selected, you will also see reports on the progress of the Monkey and the events being generated.
Basic Use of the Monkey
你可以使用一个开发机器上的命令行或者脚本来启动monkey。因为monkey运行在模拟器环境或者设备环境中,你必须在那种环境中用一个shell命令启动它。你可以在每个monkey命令前面加上adb shell使用, 也可以先进入shell环境而直接使用monkey命令。
基本命令是:
$ adb shell monkey [options]<event-count>
在没有任何特殊参数时,monkey将会以一种无反馈(非verbose)模式启动,并且会向任何安装在目标机上的应用包发送伪随机事件,下面有一个更典型的命令,会启动你的应用程序并且向你的应用程序发送500个伪随机事件。
$ adb shell monkey -p your.package.name -v 500
详细的命令行参数参见http://developer.android.com/tools/help/monkey.html