monkey参数应用综合案例
1.测试场景
测试抖音APP Android版,测试希望通过Monkey来模拟用户操作,检查被测应用是否会出现异常(应用崩溃或者无响应)
2.需求分析
1)测试是指定应用,因此需要用-p指定被测app包名: com.ss.android.ugc.aweme
2)这个测试目的是希望模拟用户操作,因此需要让Monkey执行的事件尽可能地接近用户的常规操作,这样才可最大限度地发现用户使用过程中会出现的问题,因此需要对monkey执行的事件百分比进行调整。触摸事件和手势事件是用户最常用的操作,所以通过--pct-touch和--pct-motion将2个事件百分比调到40%和25%,目标应用包含多个Activity,为了能覆盖大部分的Activity,所以通过--pct-appswitch将Activity切换的事件比调整到10%;被检测应用在测试中出现过不少横竖屏之间切换的问题,这个场景也必须关注,因此通过--pct-rotation把横竖屏切换事件调整到10%
3)使用-s参数来指定命令执行的seed值Monkey会根据seed值来生成对应事件流,同一个seed生成的事件流完全相同的。这里指定了seed值,是为了测试发现问题时,便于进行问题复现。
4)使用--throttle参数来控制Monkey每个操作之间的间隔,因此通过--throttle设置monkey每个操作固定延迟0.4s
5)使用--ignore-crashes和--ignore-timeouts参数使monkey遇到意外时能继续执行。
6)使用-v指定log的详细级别 ,这里将日志级别设为-v-v
3.测试命令
adb shell monkey -p com.ss.android.ugc.aweme #指定被测试app的包名
--pct-touch 40 --pct-motion 25 #指定触摸事件和手势事件百分比为40%和25%
--pct-appswitch 10
--pct-rotation 10
-s 1666 --throttle 400
--ignore-crashes
--ignore-timeouts
-v -v 200