Monkey介绍
Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。
Android官方描述
The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as a number of system-level events. You can use the Monkey to stress-test applications that you are developing, in a random yet repeatable manner.
Monkey是一个程序,运行在您的模拟器或设备上,并生成伪随机的用户事件流,如点击、触摸或手势,以及一些系统级事件。您可以使用Monkey以随机但可重复的方式对您正在开发的应用程序进行压力测试。
注:安卓连接夜神模拟器adb connect 127.0.0.1:62001
强制关闭monkey:
- adb shell ps 查看全部运行的进程
- 查出com.android.commands.monkey 进程ID
- adb shell kill pid 杀掉monkey进行
Monkey路径
Monkey程序是Android系统自带的,其启动脚本是位于Android系统的/system/bin目录的Monkey文件,其jar包是位于Android系统的/system/framework目录的Monkey.jar文件。用户主要是通过adb命令来启动Monkey的,Monkey在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在Android设备上执行对应的测试事件。同时,Monkey还会对测试系统进行监测,当出现以下三种情况时会进行特殊处理:
- 如限定Monkey运行在特定包上,当监测到师徒转到其他包的操作,将对其进行阻止;
- 如应用程序崩溃或接收到任何失控异常,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行;
- 如果应用程序发生了程序无响应的错误,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行;
- 按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。
monkey 命令:
monkey命令格式如下:
$ adb
shell monkey [options] <event-count>
- [options] 是指monkey可传入的参数,是可选项(如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包)
- <event-count> 是指随机发送事件数。如:输入100就是执行100个伪随机事件,为必选项。