Monkey测试入门

牧云@^-^@ 提交于 2019-11-27 05:38:56

一、什么是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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!