为方便快速上手Monkey测试相关问题,针对测试中发现的Monkey问题进行了整理总结,仅供参考。
2关于Monkey测试2.1环境:JAVA环境ANDROID环境https://www.androiddevtools.cn/MonkeyTest介绍及测试方法,请参考:
https://developer.android.com/studio/test/monkey#basic-use-of-the-monkey
3Monkey测试参数建议操作间隔时间:500毫秒;
操作类型:点击 手势 切换程序 横竖屏 等;
遇到错误:不停止;
执行时长:每机型不小于12小时 或点击次数:100万次;
机型覆盖建议:覆盖高中低端机型(真机),不同芯片平台(高通、海思、MTK等),不同分辨率(480*800以上主流分辨率),不同安卓版本(安卓8.0以上主流安卓版本
【参考命令】:
连接模拟器
夜神:adb connect 127.0.0.1:52001(或者62001)4.4.2
逍遥:215035.1.1
MuMu:75556.0.1
//基本命令
//adbshellmonkey包名 点击次数(随机操作)
adb shell monkey -p com.anyview 1000
adb shell pm list package -3 // 拿包名
adb shell dumpsys activity activities
//停止
adbshell “ps |grep monkey”记住第二个字段(X)
adb shell kill X
或adb shell "pid=`ps | grep monkey | awk '{print $2}'` && kill $pid"
//操作间隔500ms
adb shell monkey -p com.anyview--throttle 500100000
//日志输出
adb shell monkey -p com.anyview --throttle 500>D:\MonkeyLog.txt10000
日志等级
adb shell monkey -p com.anyview --throttle 500-v -v -v>D:\MonkeyLog.txt5000
事件回放
adb shell monkey -p com.anyview-s 123456--throttle 500-v -v -v>D:\MonkeyLog.txt5000
//异常时不停止
adb shell monkey -p com.anyview --throttle 500 -v -v -v--ignore-crashes --ignore-timeouts>D:\MonkeyLog.txt5000
//制定操作比例 点击 手势 应用切换 横竖屏切换
adb shell monkey -p com.anyview --throttle 500 -v -v -v --ignore-crashes --ignore-timeouts--pct-touch 40 --pct-motion 25 --pct-appswitch 10 --pct-rotation 5>D:\MonkeyLog.txt10000
注意:各事件类型的百分比总数不能超过100%;
查看应用CPU消耗
adb shell top -n 1 |find "com.anyview"
查看应用所占内存
adb shell dumpsys meminfo com.anyview
查看应用显卡消耗
adb shell dumpsysgfxinfo com.anyview
4Monkey测试会发现哪些问题Android平台应用程序可能产生以下四种Crash:
App层:
1、ForceCloseCrash程序崩溃2、ANRCrash无响应
Native层:
3、TombstoneCrash(NativeCrash)Kernel层:
4、KernelPanic更深一层的错误
5如何通过Monkey日志定位问题5.1典型Monkey测试日志文件输出MonkeyLog.txt:保存Monkey测试过程、应用层错误信息,发生Native Crash时,在此文件也会有记录;
5.2通过日志定位问题步骤1、在Monkey日志文件搜索关键词“Fatal”、“Crash”、“ANR”定位到发生Crash的详细堆栈信息,通过上下文初步判断发生问题的时间,进程pid等;
如图:
2、通过手机端的日志信息寻找对应问题的可能错误,定位解决问题。
00扬尘
学习了
一曲红尘心若向阳 回复 05-10 11:24
加油