monkey 稳定性测试

1、模拟用户随机事件操作,检测APP的稳定性

A、连接移动设备,查看连接的设备情况

adb devices

 2、查看monkey命令的帮助说明

adb shell monkey -help

3、参数介绍

-p,用于指定一个或多个包,如不指定将启动设备所有APP包

查看手机中安装有那些包

adb shell pm list packages -3

指定一个包,并模拟100次用户随机事件

adb shell monkey -p com.prestamo.credito.dinero.efectivo.facil.rapido.noro 10

 -v,用于反馈日志信息级别,三个等级

-v ,仅仅提供启动提示、测试完成和最终结果等信息

adb shell monkey -p com.prestamo.credito.dinero.efectivo.facil.rapido.noro -v 10

-v -v,提供较详细日志,包括每个发送到Activity的事件信息

adb shell monkey -p com.prestamo.credito.dinero.efectivo.facil.rapido.noro -v -v 10

-v -v -v,最详细的日志,包括测试选中或未选中的Activity信息

adb shell monkey -p com.prestamo.credito.dinero.efectivo.facil.rapido.noro -v -v -v 10

将日志保存到电脑的某个目录下,可用以下命令

adb shell monkey -p com.prestamo.credito.dinero.efectivo.facil.rapido.noro -v -v -v 10 >d:\log.txt

4、日志分析

monkey测试出现错误后,一般的查错步骤如下:
(1)找到是monkey里面的哪个地方出错。
(2)查看monkey里面出错前的一些事件动作,并手动执行该动作。
(3)若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样。
一般的测试结果分析如下。
(1)ANR问题:在日志中搜索ANR。
(2)崩溃问题:在日志中搜索Exception。
正常情况,如果monkey测试顺利执行完成,在log的最后会打印出当前执行事件的次数和
所花费的时间;∥monkey finished代表执行完成。
异常情况。monkey测试出现错误后,看monkey的日志(注意第一个swith以及异常信
息等)。
(1)程序无响应的问题:在日志中搜索ANR。
(2)崩溃问题:在日志中搜索Exception(如果出现空指针NullPointerException)肯定是
有BUG。
monkey执行中断,在log最后也能看到当前执行次数。

5、程序异常的操作参数

参数:-ignore-crashes
参数:--ignore-crashes表示忽略程序异常崩溃。设置此选项后,monkey会执行完所有的事
件,不会因异常崩溃而停止。

adb shell monkey-p com.tencent.mm -v --ignore-crashes 500

参数:-ignore-.timeouts
参数:-ignore--timeouts表示忽略程序超时。设置此选项后,monkey会执行完所有的事件,
不会因超时而停止。

adb shell monkey-p com.tencent.mm -v--ignore-timeouts 500

参数:-ignore-security-.exceptions
参数:-ignore-security-exceptions表示忽略一些许可错误,如证书许可、网络许可。设置
此选项后,monkey会执行完所有的事件,不会因许可错误而停止。

adb shell monkey-p com.tencent.mm -v --ignore-security-exceptions 500

6、事件选项

 如果需要指定触屏事件的百分比,命令如下:
adb shell monkey --pct-touch 50 -p com.tencent.mm 100
上述命令表示对微信设定触屏的事件占比率为50%,其他事件百分比的设置方式相同,只
需要直接在参数后添加对应的百分比数值即可。
7.指定其他参数

参数:-throttle
参数:-throttle设定两个事件之间的一个固定延迟,可以减缓monkey的执行速度。如果不
指定,monkey将不会被延迟,事件将尽可能快地生成和发送消息,单位:ms.
adb shell monkey --throttle 3000 -p com.tencent.mm 100
向微信发送100次随机事件,每次事件间隔为3s,这样就更可以模拟用户的真实操作行为

参数:-s
参数:$指定产生随机事件种子值,相同的种子值产生相同的事件序列。
monkey测试1:adb shel1 monkey-pcom.tencent.mm -s 200 100
monkey测试2:adb shel1 monkey-pcom,tencent.mm -s 200 100
上述示例中monkey测试1与monkey测试2执行的事件序列是相同的,如果不指定seed,
则在日志中会随机生成一个seed值

综合所有参数
adb shell monkey -p com.tencent.mm-p com.tencent.wstt.gt-throttle 3000
--pct-touch 20--pct-motion 20--pct-appswitch 20-v-v-v-s 1000--ignore-crashes
--ignore-timeouts --ignore-security-exceptions 1000>d:\android package\monkey.log
上面命令语句综合了前面所有的参数,表示对微信、GT两个APP实现1000个事件操作,
其中每个事件之间的间隔事件为3s,并且指定三种事件,分别占比20%,如果运行过程中出现
异常、超时等全部忽略,最后将运行的详细日志信息写入本地文件monkey.log中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值