APP测试—Monkey参数应用综合案例

1 测试场景

相机 Android版本,测试希望通过Monkey来模拟用户的随机操作,检查被应用是否会出现异常(应用崩溃或无响应)。

2 需求分析

1)测试是指定应用,因此需要使用-p指定被测app包名:com.android.camera

2)测试莫得是模拟用户操作,因此需要让Monkey执行的事件尽可能接近用户的常规操作,这样可以最大限度发现用户使用过程中可能出现的问题。因此需要对Monkey执行的事件百分比做一些调整

触摸事件和手势事件是用户做常见的操作,所以通过 –pct-touch和**–pct-motion将这两个事件占比调整到40%与25%;目标应用包含了多个Activity,为了能够覆盖大部分的Activity,所以通过–pct-appswitch将Activity切换的事件占比调整到10%;被测应用在测试中出现过不少横竖屏之间切换的问题,这个场景也要关注,因此通过–pct-rotation**把横竖屏切换事件调整到5%

3)使用-s参数来指定命令执行的seed值Monkey会根据seed值来生成对应事件流,同个seed生成的事件流是完全相同的,这里指定了seed值,是为了测试发现问题是,进行问题复现

4)使用 –throttle 参数来控制Monkey每个操作之间的时间间隔 指定操作之间的时间间隔,一方面是希望能更接近用户的操作场景,正常用户操作都会有一定的时间间隔;另一方面是不希望因为过于频繁的操作而导致系统崩溃,特别是在比较低端的手机上进行测试,因此通过–throttle设置Monkey每个操作固定延迟0.4秒(用户正常使用间隔)

5)使用 –ignore-crashes和–ignore-timeouts参数使Monkey遇到意外时能继续执行,在执行Monkey测试时,会因为应用的崩溃或没有响应而意外终止,所以需要在命令加限制参数–ignore-crash和–ignore-timeouts,让Monkey在遇到崩溃或没有响应的时候,能在日志中记录相关信息,并继续执行后续的测试

6)使用-v指定log的详细级别Monkey的日志输出有3个级别:日志的级别越高,其详细程度也越高。为了方便问题的定位,这里将日志设置-v -v -v

测试命令如下

adb shell monkey -p com.android.camera --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 1666 --throttle 400 --ignore-crashes --ignore-timeouts -v-v-v 20

执行结果:
在这里插入图片描述
也可以在命令后输入 > e:\test.log 输出日志文档

adb shell monkey -p com.android.camera --pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5 -s 1666 --throttle 400 --ignore-crashes --ignore-timeouts -v-v-v 20 > e:\test.log
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值