一、简介   Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类:   基本配置选项,如设置尝试的事件数量   运行约束选项,如设置只对单独的一个包进行测试   事件类型和频率   调试选项   在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理(自动停止):   如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。   如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。   如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。   按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件   二、测试准备   Monkey test前必须先进入android设备的adb shell(Android SDK环境配置不在此描述,网上有很多)步骤如下:   1. 开始—>运行—>cmd   2. usb连接手机,输入 adb shell 命令,待出现 即可输入以下内容   3. 进入手机后,输入相应的monkey命令即可测试   三、基本命令格式   adb shell monkey –p 程序包 –v 测试次数   比如“adb shell monkey –p com.htc.Weather –v 20000”意思是对com.htc.Weather 这个程序包单独进行一次20000次的monkey测试   其中程序包名称可以在串口终端这句命令获得:ls data/data 显示所有程序包   四、测试Log获取   用Monkey test测试,为了方便分析问题,可以在命令monkey命令后面加上 “|logcat -v time”,这样就能边测试边打印Log(记得用终端保存Log文本)例如:   adb shell monkey –p com.htc.Weather –v 20000|logcat -v time   但是这个组合在monkey测试完成后,logcat仍然在执行,测试时需要注意。   如果测试monkey碰到crash或者anr(程序强制性退出或不响应)现象时,在抓取log的同时需要提供traces.txt,步骤如下:   1. 测试版本需要具备root权限   2. 进入data/anr目录下面   3. 将traces.txt文件拷贝到TF卡中,然后拷贝出来发给软件分析即可