Monkey的使用方法和常见命令
一、monkey介绍
1.功能:采用伪随机测试的方式,来完成app的稳定性测试
2.执行原理:通过monkey的shell脚本去执行安卓系统中自带的monkey.jar工具
3.通常用于盲测,压力测试和冒烟测试
1)盲测:忽略功能和业务逻辑进行随意的测试
2)压力测试:通过长时间的高频操作,测试app在测试机上运行的性能
另外:压测仅仅靠monkey是不够的,还需要别的工具,如Jmeter
3)冒烟测试:在进行功能测试之前,通过monkey测试app的基本可用性
4.局限性:无法遵循功能逻辑进行自动化测试,因此不能将其用于通常的功能自动化
二、adb介绍和环境搭建
见上一篇文档
三、monkey命令介绍
1、命令执行方式:adb shell monkey
2、常用属性:
1)-p 选择包名(--pkg-whitelist-file 白名单)
2)-v 指定日志级别,一般用-v -v -v指定3级的详细日志
3)-s 随机事件的种子数,种子数相同则生成相同随机操作序列
4)--throttle 操作的延时
5)count 执行次数(该参数必须带上)
3.获取app包名的命令:adb shell pm list package -3
其中-3代表第三方应用(即不是安卓自带的应用)
4.指定某app进行测试:
1)该app包名为:com.stnts.iyoucloud
2)输入命令:adb shell monkey -p com.stnts.iyoucloud -v -v -v --throttle 300 500 >E:\iyoucloud.txt
其中adb shell monkey 表示完成对安卓系统中命令的调用;
-p com.timeweekly.timefinance 表示指定了某个app的包名;
-v -v -v 表示指定3级日志;
--throttle 300 表示延时时长;
500 表示执行次数(一般跑上万次);
>E:\MonkeyLog\timeweekly.txt 表示把日志内容放在E盘,MonkeyLog文件夹下的timeweekly.txt文件里。
四、日志分析:
1、正常结束后,日志结尾一般能看到//Monkey finished;但是系统崩溃后,不一定能看到该结尾
2、app无响应时日志文档结尾出现:Monkey aborted due to error
3.一般在日志中查询关键字:exception、crash和error
1)exception:定位错误提示信息,给开发看,让开发改bug
2)crash:崩溃问题
3)anr(application not responding):应用程序未响应
4、当出错后,有可能是机型的兼容性问题,也有可能是app的问题
5、出错类型举例:比如多次点击某个按钮,出现空指针错误
五、高级参数的应用:
1、--ignore [事件类型] 若某些事件导致monkey脚本终止,可以该参数忽略问题,继续执行monkey,而不中途退出
2、--pct [操作类型] [该操作所占的百分比] 指定某类操作的百分比,让monkey只做或者不做某一类操作
adb shell monkey -p com.stnts.iyoucloud -v -v -v --throttle 300 500 --pct-touch 100>E:\iyoucloud.txt
3、用monkey的种子编号(seed)去复现操作(-s seed序列),记得要关闭app后再执行该命令
adb shell monkey -p com.stnts.iyoucloud -v -v -v --throttle 300 500 -s 1632531233580 >E:\iyoucloud.txt
4、当测试机有多个时,用 -s + 设备名称 选择某测试机进行测试:
先用adb devices查看所有已连接的设备
adb -s 3062302764004YM shell monkey -p com.stnts.iyoucloud --throttle 200 --ignore-crashes --ignore-timeouts -v -v -v 100 >E:\iyoucloud.txt
原文链接:https://blog.csdn.net/changyixue/article/details/88862245
- 下一篇:移动端测试环境安装与配置
- 上一篇:win7安装 playwright 常见的问题