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杀掉他