“ Monkey命令操作支持的形式多样,包括触摸事件、手势事件等。”
01—Monkey操作
在cmd中键入如下(格式):
adb shell monkey [options] <event-count>
1.1 Monkey帮助
C:\Users\Leo>adb shell monkey -h
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
[--ignore-crashes] [--ignore-timeouts]
[--ignore-security-exceptions]
[--monitor-native-crashes] [--ignore-native-crashes]
[--kill-process-after-error] [--hprof]
[--pct-touch PERCENT] [--pct-motion PERCENT]
[--pct-trackball PERCENT] [--pct-syskeys PERCENT]
[--pct-nav PERCENT] [--pct-majornav PERCENT]
[--pct-appswitch PERCENT] [--pct-flip PERCENT]
[--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[--wait-dbg] [--dbg-no-events]
[--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
[--port port]
[-s SEED] [-v [-v] ...]
[--throttle MILLISEC] [--randomize-throttle]
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
COUNT
1.2 Monkey的日志级别
adb shell monkey -v -v 200
如:
C:\Users\Leo>adb shell monkey -v -v 200
-
-v:打印出日志信息,每个-v将增加反馈信息的级别。-v越多日志信息越详细,当下最多支持3个-v
adb shell monkey -v -v -v <event-count>
-
第1个-v:级别是0级,除了启动提示、测试完成、最终结果。提供较少信息
-
第2个-v:级别是1级,提供较详细的测试信息。如逐个发送到activity的事件
-
第3个-v:级别是2级,提供更详细的安装信息,如测试中被选中或未被选中的activity。
02—Monkey命令操作(事件类)
2.1 伪随机数生成种子值
前面类似的
C:\Users\Leo>adb shell monkey 200
随机的(这次200下点击的某个应用,再次回放的时候,则点击其他应用)
使用-s命令,可以重复执行之前的伪随机事件。
C:\Users\Leo>adb shell monkey -s 9999 200
-
9999是种子随机值
-
运行上面的命令2次,去观察结果。发现操作的事件类似
-
应用场景:回放脚本,bug的复现
2.2 设置间隔
如果你希望每个指令间有个停顿(固定时间),可以使用参数[--throttle],注意前面是[--]。毫秒。
adb shell monkey --throttle <milliseconds>
如:
C:\Users\Leo>adb shell monkey --throttle 2000 5
-
2000是毫秒,5代表5次
-
[--throttle]后面接时间,单位是毫秒级。
2.3. 触摸事件的百分比
C:\Users\Leo>adb shell monkey -v 100
:Monkey: seed=1554609293603 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: 25.0%
// 6: 15.0%
// 7: 2.0%
// 8: 2.0%
// 9: 1.0%
// 10: 13.0%
C:\Users\Leo>adb shell monkey -v 200
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
会看到
C:\Users\Leo>adb shell monkey -v 200
与
C:\Users\Leo>adb shell monkey -v 100
之间的event percentages是相同的
- 0代表的是触摸事件
- 1代表的手势事件。
如果测试新闻类的app,则滑动比较多;而如果测试地图类,则缩放较多些。
如果你希望调整触摸事件的百分比,记住使用--pct-touch。
$ adb shell monkey --pct-touch
如下图,80== 80%
03—Monkey命令操作(事件类2)
3.1 调整手势事件百分比
参数:--pct-motion
格式:adb shell monkey --pct-motion <percent>
如:adb shell monkey –v --pct-motion 40 200
3.2. 调整应用程序启动时间的百分比
打开手机应用的百分比。
--pct-appswitch
格式:adb shell monkey --pct-appswitch <percent>
如:adb shell monkey –v --pct-appswitch 40 200
3.3. 调整屏幕旋转事件的百分比
先观察 adb shell monkey 200 ,看屏幕的横屏与竖屏之间的变化
参数:--pct-rotation
格式:adb shell monkey --pct-rotation <percent>
如:adb shell monkey –v --pct-rotation 40 200
3.4.补充:
执行指定的脚本(脚本放在外部的一个文件中)
如:
adb shell monkey –f /mnt/sdcard/demo
3.5. 其他事件
C:\Users\Leo>adb shell monkey -h
usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
[-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
[--ignore-crashes] [--ignore-timeouts]
[--ignore-security-exceptions]
[--monitor-native-crashes] [--ignore-native-crashes]
[--kill-process-after-error] [--hprof]
[--pct-touch PERCENT] [--pct-motion PERCENT] 触摸事件百分比 *
[--pct-trackball PERCENT] [--pct-syskeys PERCENT] 轨迹球事件百分比
[--pct-nav PERCENT] [--pct-majornav PERCENT] 基本导航事件百分比
[--pct-appswitch PERCENT] [--pct-flip PERCENT] 应用程序启动事件百分比 *
--pct-rotation 调整屏幕旋转百分比 *
--pct-motion 调整手势百分比 *
[--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT] 其他类型事件百分比
[--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
[--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
[--wait-dbg] [--dbg-no-events]
[--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
[--port port]
[-s SEED] [-v [-v] ...] 随机运行 种子值
[--throttle MILLISEC] [--randomize-throttle] 指定事件之间的间隔时间
[--profile-wait MILLISEC]
[--device-sleep-time MILLISEC]
[--randomize-script]
[--script-log]
[--bugreport]
[--periodic-bugreport]
COUNT
【代码可左右滑动,查看更多哦......】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….