当前位置: 首页> 多测师动态> 多测师软件测试培训之Monkey事件详解

多测师软件测试培训之Monkey事件详解

多测师软件测试培训之Monkey事件详解

monkey是 android自带系统自带的程序,它可以生成伪随机用户事件来模拟单击、双击、输入、滑动、拖动、触摸、手势等操作,这些应用程序可以在开发中的 app程序中进行随机压力测试和稳定性测试。

详细的 Monkey事件类型
Monkey执行的随机事件流包括11个最重要的事件,这些事件分别是触摸事件、手势事件、指针缩放事件、轨迹事件、屏幕旋转事件、基本导航事件、系统按键事件、启动活动事件、键盘事件、其他类型事件。每一事件都具体说明如下:
 1.触摸事件(touch)
触摸式事件是在屏幕某处进行的按下和提起的操作,事件的百分比可以通过--pct-touch参数配置。可以看到 Monkey执行事件的外部输出的日志。这个事件是由一组 Touch (ACTION_DOWN)和 Touch事件组成的,在手机上看到实际的操作就像是点击。

upfile1630983467188.jpg

  2.手势事件(motion)
姿态事件是指屏幕上某处按下、随机移动、抬起的动作,即直线滑动操作。事件的百分比可以通过--pct-motion参数配置。
这个事件包含一个ACTION_DOWN事件、一系列ACTION_MOVE事件和一个ACTION_UP事件,而手机上的实际操作是一条直线滑动动作,没有转弯。
3.二指事件(pinchzoom)
缩放事件是指在屏幕上的两个位置同时按下,并同时移动,最后一次同时抬起的操作,即在智能机中进行放大缩小动作。事件的百分比可以通过--pct-pinchzoom参数配置。通过 Monkey执行事件的外部输出可以看到以下日志:
一个ACTION_DOWN事件和一个ACTION_POINTER_DOWN事件开始,即模拟两个手指同时点下;中间是一系列ACTION_MOVE事件,也就是两个手指同时在屏幕上直线滑动;最后是由ACTION_POINTER_UP事件和ACTION_UP事件组成,即同时释放两个手指。
4.轨迹事件(trackball)
“轨迹事件”是由一个或多个随机移动组成,有时伴随着点击。以前的安卓手机都有轨迹球,这次事件就是模拟轨迹球的操作。目前手机几乎没有轨迹球,但是带有轨迹球的轨迹球动作,如果被测试程序需要曲线滑动时,可以选择该参数。事件的百分比可以通过--pct-trackball参数配置。通过 Monkey执行事件的外部输出可以看到以下日志:
这一事件是由一系列 Trackball (ACTION_MOVE)事件组成的,观察手机上的动作,也就是一系列曲线滑动动作。
  5.屏幕旋转事件(rotatio)
class事件是一个在 Android官方文档中没有记录的隐藏事件。实际上是模拟 Android手机的横屏和竖屏切换。事件的百分比可以通过—pct-rotation参数配置。在 Monkey执行事件外部输出的日志中可以看到:[Code]该事件包含一个 rotation事件,其中 degree表示旋转方向,顺时针旋转,0表示旋转90度方向,1表示旋转180度的方向,2表示旋转270度的方向,3表示旋转360度的方向。运行时,可以看到手机屏幕在横竖屏之间不断切换。
  6.基本导航事件(nav)
基础导航事件是指按方向点击进入设备的上、下、左、右键的操作,现在手机上很少有上、下、左、右按键,这类操作一般不用。事件的百分比可以通过--pct-nav参数进行配置。通过 Monkey执行事件的外部输出可以看到以下日志:
这个事件是由 Key (ACTION_DOWN)和 Key (ACTION_UP)组成的,按下了四个方向键:上、下、左、右键。
  7.主要导航事件(majornav)
主导航事件指的是点击“主导航”按钮,这通常会导致用户界面的动作,比如键盘中间键、回退键、菜单键。事件的百分比可以通过--pct-majornav参数配置。通过 Monkey执行该事件的外部输出可以看到:[代码]事件是由 Key (ACTION_DOWN)和 Key (ACTION_UP)组成的,点击的按键是中键和菜单键。
  8.系统按键事件(syskeys)
“系统按钮事件”指的是点击系统保留的按键,例如 Home键、回车键、音量调节键等按钮。事件的百分比可以通过--pct-syskeys参数配置。通过 Monkey执行事件的外部输出可以看到:[代码]事件是由 Key (ACTION_DOWN)和 Key (ACTION_UP)组成的,并且点击了上面提到的几个系统键。
9.启动活动事件(appswitch)
发起 Activity事件意味着在手机上启动一个活动的动作。如果是随机的时间间隔, Monkey将执行 startActivity ()方法,以最大限度地覆盖测试包中的所有活动。事件的百分比可以通过--pct-appswitch参数配置。在 Monkey执行事件的外部输出的日志中可以看到:[代码]事件由一个 Switch操作组成,从手机上看,上面的操作实际上是打开com.android.se tt ings应用程序的一个com.android.se tt ings. Settings。
  10.键盘事件(flip)
大多数情况下,键盘事件都与键盘有关。例如点击输入框,键盘弹起,点击输入框外区域,键盘收回等。事件的百分比可以通过--pct-flip参数配置。在 Monkey执行事件的外部输出的日志中可以看到:[代码]如日志所示,主要是键盘的开启和关闭操作。
  11.其他类型事件(anyevent)
其它类型的事件包括所有其他事件,除了前面提到的10个事件,比如按键、其他不常用设备上的按钮等等。事件的百分比可以通过--pct-anyevent参数进行配置。通过 Monkey执行该事件的外部输出可以看到:[代码]该事件是由 Key (ACTION_DOWN)和 Key (ACTION_UP)组成的,按几个其他系统键来按字母键、数字键等等。由于目前手机上的字母键和数字键很少,所以这一次的活动使用较少。
怎样指定一个 Monkey事件
(1)变量定义但被引用。当执行 monkey时,如果没有指定时间类型,系统将随机生成各种事件,其百分比是不同的。
Monkey命令指定事件类型如何使用--pct-事件名称事件百分比。比如:
  adb shell monkey -p cn.mopon.film --pct-touch 20 --pct-pinchzoom 20 --pct-motion 15 --pct-appswitch 30 1000。
如果指定一个以上的事件百分比,百分比总和不能超过100%。这些指定的事件百分比之和为100,如果指定的事件类型百分比是指定的,则仅生成指定的事件。若事件总和小于100,并且假设事件总和等于80,则不会随机产生任何未指定事件百分比,并且每个事件百分比相加等于20.如果指定事件百分比之和大于100,则进行报错。

如需了解更多测试技术信息请关注:http://www.duoceshi.cn/ 深圳多测师软件与技术服务有限公司

上一篇: 软件测试之软件的动态测试技术

下一篇: 软件测试之手工测试人员如何转测试开发?

QQ技术交流群

多测师官方学习交流
556733550

加入群聊