一、什么是Monkey测试?
Monkey测试也成为压力测试,是Android自动化测试的一种手段,当Monkey程序在模拟器或设备上运行的时候,如果用户触发了点击、触摸、手势等时间的时候,Monkey会产生随机脉冲,所以可以用Monkey随机、多次模拟事件来测试应用的负荷程度,并从中获取出错信息,从而优化应用。
Monkey包括许多选项,它们大致分为四大类:
1、基本配置 选项,如设置尝试的事件数量。
2、 运行约束选项,如设置只对单独的一个包进行测试。
3、事件类型和频率。
4、调试选项。
二、Monkey测试的特征
略。
三、准备工作
1、模拟器连接:首先需要让测试工具能与Android手机连接,此处先给出模拟器的方法。
(1)检测可连接设备:win7-win+R-cmd-回车。进入命令提示符窗口。输入adb devices
图(3.1.1)检测可连接设备
如图,emulator表示当前可以连接的模拟器名称,当然此前我们必须打开一个模拟器。
(2)进入设备。adb shell
图(3.1.2)进入设备
通过命令解析器shell可以对设备进行操作。
至此连接完毕。接下来就可以使用Monkey命令对应用进行测试。
四、Monkey语法
1、因为Monkey工具已集成在系统,所以可以直接使用Monkey命令,使用help命令可以了解Monkey语法(点击学习语法):
图(4.1.1)monkey语法
五、日志解析
1、:Monkey: seed=0 count=100
:AllowPackage: com.example.myspinner
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
seed对应语法中的第一项,count表示执行次数;AllowPackage表示测试的包名;下面两个是策略。
2、Event percentes:
// 0: 15.0%
// 1: 10.0%
// 2: 15.0%
// 3: 25.0%
// 4: 15.0%
// 5: 2.0%
// 6: 2.0%
// 7: 1.0%
// 8: 15.0%
0:触摸事件百分比,即参数--pct-touch
1:滑动事件百分比,即参数--pct-motion
2:缩放事件百分比,即参数--pct-pinchzoom
3:轨迹球事件百分比,即参数--pct-trackball
4:屏幕旋转事件百分比
5:基本导航事件百分比,即参数--pct-nav
6:主要导航事件百分比,即参数--pct-majornav
8:Activity启动事件百分比,即参数--pct-appswitch
9:键盘翻转事件百分比,即参数--pct-flip
10:其他事件百分比,即参数--pct-anyevent
3、:SendKey (ACTION_DOWN): 22 // KEYCODE_DPAD_RIGHT
:SendKey (ACTION_UP): 22 // KEYCODE_DPAD_RIGHT
Sleeping for 0 milliseconds
:SendKey (ACTION_DOWN): 23 // KEYCODE_DPAD_CENTER
:SendKey (ACTION_UP): 23 // KEYCODE_DPAD_CENTER
Sleeping for 0 milliseconds
:SendKey (ACTION_DOWN): 59 // KEYCODE_SHIFT_LEFT
:SendKey (ACTION_UP): 59 // KEYCODE_SHIFT_LEFT
SendKey表示发送的动作(action),ACTION_DOWN表示鼠标按下,ACTION_UP表示鼠标抬起。
4、:Sending Pointer ACTION_DOWN x=234.0 y=357.0
:Sending Pointer ACTION_MOVE x=238.0 y=350.0
:Sending Pointer ACTION_MOVE x=238.0 y=350.0
:Sending Pointer ACTION_UP x=238.0 y=350.0
触摸事件,x、y指定触摸的坐标。
5、Events injected: 100
事件注入成功总数。
6、:Dropped: keys=0 pointers=3 trackballs=0 flips=0
丢失情况,按键事件丢失为0,触摸事件丢弃3种,轨迹球事件丢失为0,键盘翻转事件丢失为0。
7、## Network stats: elapsed time=3800ms (0ms mobile, 0ms wifi, 3800ms not connected)
网络状态。
六、常用keycode
来源:https://blog.csdn.net/qq_24729759/article/details/99462637