51Testing软件测试论坛

标题: 在做Monkey稳定性测试之前,你还要知道这些 [打印本页]

作者: lsekfe    时间: 2021-4-6 10:21
标题: 在做Monkey稳定性测试之前,你还要知道这些
Monkey
  1.Monkey命令-事件数
  2.Monkey支持的所有命令
  adb shell monkey

  必选的命令
  COUNT:事件数
  通过事件数量来测试稳定性
  adb shell monkey 次数 即,adb shell monkey 50

  注:可能小伙伴发现这速度也忒快了,我看都没看清,这人的速度也没这么快,不合理。哈,那接着,控制每一次操作的间隔时间。
  Monkey命令-事件间隔
  –throttle 在事件之间插入固定延迟。通过这个选项可以控制Monkey发送事件的频率。时间单位是ms(毫秒)1000毫秒=1秒。
  例1:发送10个事件,持续执行时间1分钟。
  adb shell monkey --throttle 6000 10,即10个事件,做完一个事件就等待6秒后再执行。

  备注:扯了半天,小伙伴想知道我要去检测公司的app到底要怎么整。
  Monkey命令——指令包
  p 此参数指定了一个包,Monkey将只允许系统启动这些包里的Activity。
  -p -p 如果用此参数指定了多个包,Monkey将只允许系统启动这些包里的Activity。
  例3:对58同城进行稳定性测试,执行100次事件。
  adb shell monkey -p com.wuba 100

  获取包名
  adb shell pm list packages

  知识点:
  有可伙伴可能会问,我压根不知道我学习的app的名包叫啥那怎么找呢?
  aapt dump badging D:\test\xxx.apk(APK的全名),如手机淘宝.apk

  Monkey命令-日志设置
  -v Level 0 除启动提示、测试完成和最终结果之外,提供较少信息。
  -v-v Level 1 提供较为详细的测试信息,如逐个发送到Activity的事件。
  -v-v-v Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。
  例4:对58同城进行稳定性测试,执行100次事件,分别查看不同日志级别记录的信息情况。
  adb shell monkey -p com.wuba -v 100
  adb shell monkey -p com.wuba -v-v 100
  adb shell monkey -p com.wuba -v -v -v 100
  日志导出到本地
  adb shell monkey -p com.wuba -v-v-v 100 >d:\wuba.txt

  Monkey命令-seed值
  在Monkey运行过程中,肯定会发现异常、奔溃、无响应等问题,对于此类问题如何进行复现呢?
  -s 伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列。
  使用场景
  复现bug,回归测试(验证bug)
  adb shell monkey -s 1593077384911 -p com.wuba -v-v-v 100 >d:\wuba4.txt
  adb shell monkey -s 100 -p com.wuba -v-v-v 50
  在Monkey运行过程中,我们可以通过结束进程的方式来终止Monkey的执行,当然在运行过程中遇到异常、奔溃等情况Monkey也会停止。为了保证执行的事件数执行完整,我们可以通过调试选项的设置来防止在运行过程中Monkey命令的提前结束。
  –ignore-crashes 忽略在应用程序出现crash时导致的monkey停止。
  –ignore-timeouts 忽略在应用程序出现ANR问题时导致monkey停止。
  –ignore-security-exceptions 忽略应用程序发生许可错误时导致monkey停止。
  例5:对58同城进行稳定性测试,执行50次事件,忽略过程中遇到的异常,直到50次事件完成。
  adb shell monkey -p com.wuba --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v-v-v 50
  部份参数:
  –pct-touch:触摸事件 --pct-trackball :轨迹事件。
  –pct-motion:动作事件(手势) --pct-nav :基本导航事件。
  –pct-appswitch:启动activity事件 -pct-majornav:主要导航事件。
  –pct-rotation:屏幕旋转事件 --pct-syskeys:“系统”按键事件。
  总结
  1、Monkey是对安卓apk进行随机事件的操作,通过报告来查看apk是否稳定。
  2、只适用安卓平台。
  3、根据公司不同产品的特性可设置不同概率来针对性测试或回归(如抖音他的滑动频率高)。





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2