Monkey事件类型参数有哪些?

开发 开发工具
Monkey就是SDK中附带的一个工具。Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。

Monkey 的事件类型总共有 11 种,分别是触摸(Touch)、手势(motion)、二指缩放(pinchzoom)、轨迹(trackball)、旋转(rotation)、基本导航(nav)、主要导航事件(majornav)、系统按键(syskeys)、启动 activity(appswitch)、键盘事件(flip)和其它类型事件(anyevent),在日志中分别用 0-10 来表示;

如:

C:\Users\XXX>adb shell monkeyp cn.mopon.film --throttle 1000 -vvv 100
:Monkey: seed=160364725750 count=100
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%

事件说明:

  • 触摸事件:指在屏幕某处按下并抬起的操作。
  • 手势事件:指在屏幕某处的按下、随机移动、抬起的操作(划动)。
  • 缩放事件:指在屏幕上某处放大缩小事件,如地图的测试,这类事件较多。
  • 轨迹事件:模拟的轨迹球的操作,早期手机较多,现在的手机几乎都没有轨迹球,但轨迹球事件中包含曲线滑动操作,如果被测程序需要曲线滑动时可以选用此参数。
  • 屏幕旋转事件:屏幕旋转事件是一个隐藏事件,它是模拟屏幕的横屏和竖屏转换。
  • 基本导航事件:指点击方向输入设备的上、下、左、右按键的操作,现在手机多数没有上下左右的操作,这类事件很少。
  • 主要导航事件:指点击“主要导航”按键的操作,这些按键通常会导致 UI界面中的动作,如键盘回退,菜单,中间键等。
  • 系统按键事件:指点击系统保留使用的按键的操作,如点击 Home 键、返回键、音量调节键等启动 Activity 事件:指在手机上启动一个 Activity 的操作,即打开某个应用的某个 activity 界面。
  • 键盘事件:键盘事件主要是一些与键盘相关的操作,如点击输入框、键盘弹起、键盘收回等。
  • 其它类型事件:除以上事件以外的其它事件,比如按键、其他不常用的设备上的按钮等。

好了,事件介绍完了,下面需要介绍在 monkey 测试中如何指定事件的比例,比如地图类的可以指定缩放事件较多一些,连连看游戏指定划动类较多一些,这样有利于测试的有效性,事件比例的设置是通过(--pct-事件名)的格式来指定事件的百分比,相关案例如下:

指定触摸事件的百分比

adb shell monkey -p cn.mopon.film --pct-touch 20 1000

注:--pct-{+事件类别}{+事件类别百分比}用于指定每种类别事件的百分比(在 Monkey事件序列中,该类事件数目占总事件数目的百分比),--pct-touch {+百分比}用于调整触摸事件的百分比(触摸事件是一个 down-up 事件,它发生在屏幕上的某单一位置)。

指定动作事件的百分比

adb shell monkey -p cn.mopon.film --pct-motion 30 1000

注:指定动作事件的百分比(动作事件由屏幕上某处的一个 down 事件、一系列的伪随机事件和一个 up 事件组成)。

指定多个事件的百分比

adb shell monkey -p cn.mopon.film --pct-touch 20--pct-pinchzoom30--pct-motion 15 --pct-appswitch 301000

说明:指定多个事件百分比时,各百分比之和不能超过 100% 如果不指定事件的百分比,monkey 会随机按事件百分比来跑 app。

责任编辑:姜华 来源: 今日头条
相关推荐

2023-04-09 14:48:03

JavaScript脚本语言开发

2023-04-24 12:37:39

光纤单模光纤多模光纤

2010-06-13 15:42:37

MySQL性能优化

2014-11-07 10:05:38

OSPFLSA

2023-03-24 16:21:08

2024-01-23 16:54:38

2010-05-05 10:49:34

Oracle 复合类型

2010-05-31 10:35:12

MySQL数据类型

2024-03-04 07:37:40

MySQL记录锁

2010-04-20 09:22:27

Oracle 复合类型

2024-04-03 14:56:12

生成式AI人工智能机器学习

2023-04-26 10:06:08

RocketMQ属性Consumer

2021-07-01 07:51:45

React事件绑定

2010-07-09 15:10:11

MS SQL Serv

2010-07-23 14:18:47

SQL Server数

2010-04-22 09:42:00

2024-02-01 08:08:53

Spring过滤器类型Gateway

2020-03-23 08:15:43

JavaScriptError对象函数

2011-08-11 17:09:01

数据挖掘

2021-12-02 10:16:10

机器人编程语言计算机语言
点赞
收藏

51CTO技术栈公众号