①安装并配置好 adb 环境,并通过 adb 连接好设备
②获取被测应用的包名
③执行Monkey命令进行测试
命令格式
adb shell monkey +行为参数 + ">" + {日志保存路径}
代码示例:
adb shell monkey -s 500 -p 包名 -v -v -v 5000
查看所有mokey参数
adb shell monkey
命令分类
1 常规类
1 设置事件的次数:
adb shell monkey 2000,任意App执行2000次(最基本命令)
2 -v:每个-v都将增加反馈信息的级别,共3个级别,所以-v -v -v可以提供最详细的设置信息
我们基本使用的时候就是3个v,表示最详细的信息
2 约束类
-p设置具体包的测试,当指定包名后,那么就指定了具体的App进行操作
adb shell monkey -p 包名 2000
Monkey可以执行很多个包,一个包名代表一个App,执行多个包,就用多个-p
注意:
1所有的参数都在monkey和次数中间
2 命令操作很有影响,会把手机设置的数据修改,但不会把手机整爆炸崩溃死机
3Monkey虽然随机,但里面没有删除操作,不会误删App
4Monkey如果把一个App退出登录了,后续的随机操作如果有登录操作,那么就无法实现登录
3 调试类
1三个忽略参数
crashes忽略崩溃死机
timeouts忽略超时
security-exceptions忽略安全认证
重点笔记:
1三个参数的添加作用是:如果产生问题,那么会结束应用进程,重启应用,继续执行直到次数完成
2如果不添加三个参数,如果产生问题,那么Monkey会停止执行,且会停留在发生问题的界面
2 监听参数
如果被测App的操作对其他App造成影响,那么就把这个影响记录下来
monitor-native-crashes:记录本地应用的崩溃,App不仅要兼容操作系统,也要兼容其他App ☆
ignore-native-crashes:忽略本地应用的崩溃,也就是其他App不管了,只管被测App ☆
3杀进程参数:
kill-process-after-error:应用程序出错后通知系统停止发生错误的进程
4 事件类
pct是percent,指百分比,百分比一般不设置
throttle表示节流,意为设定时间间隔
-s表示seed,seed是序列值,设置seed值命令:adb shell monkey -s 500 2000
重点笔记:
1 设置seed的目的是开发可以根据日志来复现偶现BUG
2seed值要参考团队值
3 前置条件是初始状态必须一样,如果初始页面状态不同,那么即便seed一样,操作也不一样
结果分析
Monkey日志的问题总结:
①程序无响应的问题:在日志中搜索“ANR”
②崩溃问题:在日志中搜索“Exception”
Java常见异常:
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
违法访问错误:IllegalAccessError
内存不足错误:OutOfMemoryError
堆栈溢出错误:StackOverflowError
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可