如何用monkey做稳定性测试?

monkey用法

1、作用

monkey的作用,是通过一系列的随机操作,来测试手机上应用的稳定性,其实就是看在高频率的大量操作下,应用会不会出现问题

2、常用命令
adb shell monkey -p com.ss.android.ugc.aweme -v -v -v --ignore-crashes --ignore-timeouts --ignore-native-crashes --throttle 100 1000000>D:\douyin.log
  • -v 参数,表示日志的详细等级, -v -v -v 表示最详细的级别
  • -s 参数,表示monkey执行时使用的种子序列号,相当于找猴子来测试,猴子有编号,选一个指定编号的猴子,会指定使用哪个seed序列来完成测试操作,通常用于monkey发现问题之后,想要复现的时候,通过指定相同的seed值,来复现同样的操作
  • –ignore-crashes 忽略应用崩溃
  • –ignore-timeouts 忽略ANR 也就是应用未响应。
  • –ignore-native-crashes 忽略系统崩溃
  • –ignore-security-exceptions 忽略安全权限异常
  • –throttle 指时间间隔
3、monkey日志的查看

如果有异常,查看monkey日志的时候,其实重点就是搜索一下有没有问题:crash(崩溃)、exception、error、failed、timedWaiting(ANR application not responded 应用无响应)、at(通常是在异常后面会出现at,来说明报错代码的位置。)

anr、crash、异常等会导致monkey中断执行,而测试的时候往往希望忽略中断,继续执行。

4、工作中使用monkey

1、执行次数 一般会非常大,日志信息不需要全量查看,重点搜索报错内容就行
2、-p 通常都会加上,用于指定自己测试的包名
3、-s 在复现问题的时候使用。 如果要复现问题,指定相同的seed值和次数,就能用同样的操作进行测试
4、在执行的时候通过 ignore参数,忽略掉执行过程中导致monkey中断的问题,继续执行直到monkey指定次数执行结束
–ignore-crashes 忽略应用崩溃
–ignore-timeouts 忽略ANR 也就是应用未响应
–ignore-native-crashes 忽略系统崩溃
–ignore-security-exceptions 忽略安全权限异常
这4个,相当于是必填参数,为了让monkey能够一直跑下去
5、如果想要指定只执行某些动作 比如点击,就可以通过–pct-touch 100来指定 100%执行点击操作
6、monkey执行的时候,尽量先把应用完成登录之后再测试,因为monkey没有办法去完成登录操作的

5、中断monkey

monkey开始执行之后,运行的是安卓系统上的脚本,所以中断monkey执行的方法是:进入adb shell中,ps查找monkey进程,然后kill杀掉他


版权声明:本文为qq_39537481原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。