我们可以在测试过程中使用的Monkey工具给指定应用程序发送随机事件,用来检验应用程序的可靠性和稳定性,这是一个很好的测试工具,而且在应用程序开发和测试阶段应用广泛。
Monkey指令的基本格式如下:
monkey -p <package> <options> <event count>
Monkey的使用方法
在adb shell的界面中,输入:monkey -p com.android.app_name 100 就可以进行100次随机的测试。若需要知道测试到底有哪些随机事件,可以输入 -v 参数即可,如下为标准输入:
monkey -p com.android.app_name -v 100
就会在输入窗口打印出对应的随机事件的情况,图片后续补充。
// 此处缺图一张。
Monkey的事件控制
Monkey工具包含有很多的事件类型,下面将常见的事件类型及默认比例列举出来,以供参考。
- 事件类型:触摸点击(Touch)
- 说 明:在某个屏幕位置的按下( Down ) 和抬起(Up )事件。
- 默认比例:15%
- 命 令 行:--pct-touch
- 显示 ID:0
- 事件类型:移动(Motion)
- 说 明:在某个屏幕位置的按下进而移动,最后在屏幕不同的位置抬起的事件。
- 默认比例:10%
- 命 令 行:--pct-motion
- 显示 ID:1
- 事件类型:轨迹球 / 鼠标(Trackball)
- 说 明:轨迹球或者鼠标事件,有时会跟随一个点击Click事件。
- 默认比例:15%
- 命 令 行:--pct-trackball
- 显示 ID:2
- 事件类型:基本导航(Basic Navigation)
- 说 明:上下左右事件。
- 默认比例:25%
- 命 令 行:--pct-nav
- 显示 ID:3
- 事件类型:主导航(Major Navigation)
- 说 明:菜单,回退(Back),方向键盘的Center键。
- 默认比例:15%
- 命 令 行:--pct-majornav
- 显示 ID:4
- 事件类型:系统按键(System Key)
- 说 明:Home键,音量键,Send,End等常见系统按键。
- 默认比例:2%
- 命 令 行:--pct-syskeys
- 显示 ID:5
- 事件类型:Activity 切换(Activity Switch)
- 说 明:随机的切换到应用程序包中的其他Activity 。
- 默认比例:2%
- 命 令 行:--pct-appswitch
- 显示 ID:6
- 事件类型:其他事件
- 说 明:按键,其他按钮等事件。
- 默认比例:16%
- 命 令 行:--pct-anyevent
- 显示 ID:7
Monkey 可以采用混合的方式来控制事件类型。且可以指定百分比,如下为基本格式:
monkey [ <command line flag > <percentage> ...... ] < event count >
若要触摸事件100%,使用如下命令:
monkey -p com.android.app_name --pct-touch 100 -v 100
若要基本导航和主导航各50%,使用如下命令:
monkey -p com.android.app_name --pct-nav 50 --pct-majornav 50 -v 100
使用种子来标示Monkey测试,方便复用
在monkey测试中可以使用种子来标示测试,下次使用此相同的种子可重复测试,用来验证,修改是否有效,格式如下:
monkey -p <package> -s <seed> -v <event count>
在测试中使用种子可以保存此次测试生成的测试过程,在下一次测试后调用种子值,就可以重复上次测试过程,将随机变成可控的随机。
调整Monkey的速率
可以使用参数 --throttle 来调整速率,其值为毫秒 ,格式如下:
monkey -p <package> --throttle < milliseconds > -v <event count>
举例,若每次时间间隔为1秒,则使用如下方式:
monkey -p com.android.app_name -v --throttle 1000 100 、
版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/adb-skills%ef%bc%9amonkey.html
可以写成个monkey测试的脚本,这样来的更快些!