App移动端测试(8)—— Monkey命令操作

1167 篇文章 46 订阅
732 篇文章 11 订阅

 Monkey命令操作支持的形式多样,包括触摸事件、手势事件等。

01—Monkey操作

在cmd中键入如下(格式):

adb shell monkey  [options]  <event-count>

1.1 Monkey帮助​​​

C:\Users\Leo>adb shell monkey -husage: 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 -husage: 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

【代码可左右滑动,查看更多哦......】


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值