APP测试之Monkey学习
1. 查看adb是否安装成功
打开cmd输入adb,出现以下提示说明安装成功。
2. 查看是否连接手机,输入adb devices,连接成功出现以下信息说明连接成功
3.什么是monkey?
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
4.monkey的特点?
Monkey 程序是由 Android 系统自带,使用 Java 语言写成。在Android文件系统中的存放路径是:/system/framework/monkey.jar;
Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
也就是说monkey可以直接通过打包进测试工具中,被测试人员直接使用,网络上许多第三方的monkey工具就是通过对原生的Monkey.jar包进行二次开发实现。
5.monkey的原理?
1). adb shell monkey的运行机制: 实际上是执行手机中/system/bin/monkey这个脚本;
2). Monkey事件注入机制:Monkey注入系统事件是通过 framework 层的 hidenApi (如:activemanager,inputmanager,windowmanager) 获取系统服务。
Monkey中有11种事件,这些事件在MonkeyEventSource中对事件之间的比例进行设置。Monkey事件根据类型比例生成事件队列,循环查找事件。
a.触摸事件(inputmanager):包括屏幕以及物理键的触摸,滑动,点击事件。
b.Activity事件(activemanager):是指我们调用Android系统组件的事件。
c.Window事件(windowmanager):是指操作Window的事件,例如转屏。
3).Monkey核心类
a. Monkey.java, 程序的入口,根据参数选择合适的MonkeyEventSource,并适时触发MonkeyEvent;
b. MonkeyEventSource.java, MonkeyEvent的工厂,是一个接口;
c. MonkeyEvent.java,各种事件的具体实现。