Fork me on GitHub

【APP专项】monkey专项性能测试实践-分析-监控

一、什么是monkey专项压测?

monkey测试是Android平台自动化测试的一种手段,通过Monkey命令模拟用户触摸点击屏幕、滑动、系统按键等操作来对设备上的app进行压力测试,检测程序多久的时间会发生异常

adb shell monkey -p "包名" --throttle 300 --pct-touch 35 --pct-motion 41 --pct-syskeys 2 --pct-appswitch 20 --pct-anyevent 2 -s 2 -v -v 1000

 这条monkey命令是指:共产生1000次伪随机事件(包括触摸、按键、切换)等操作,每次间隔300ms。

#--pct-touch 35 点击事件占比%35
#--pct-motion 41 调整移动事件占比 41%
#--pct-syskeys 2 调整系统按键事件占比 2%
#--pct-appswitch 20 调整app切换事件占比 20%
#--anyevent 2 跳转除上面其他事件外占比 20%

二、monkey LOG分析方法

1、通过adb shell bugreport命令提取;

示例:

adb shell bugreport > C:\Users\86158\Desktop\1111\bugreport.log

2、MonkeyScreenLog.Log:保存Monkey测试过程、应用层错误信息,发生Native Crash时,在此文件也会有记录;

1)在MonkeyScreen.Log日志文件搜索关键词“Fatal”、“Crash”、“ANR”定位到发生Crash的详细堆栈信息,通过上下文初步判断发生问题的时间,进程pid等

2)检查dropbox目录下是否有相关crash日志信息,主要关注是否有以下4类crash错误信息:data_app_wtf,data_app_anr,data_app_crash,system_server_watchdog

LOG分析示例

三、monkey结合unittest框架进行专项自动化测试

框架目录结构:

 

1)config.ini 配置运行参数

[parama]
;手机系列号
phoneSeries = 9c07dc59
;执行monkey次数
execCount = 1
;点击次数
mokeyClickcount = 1000
;apk路径
apkpath = D:\gongju\MonkeyTest-master\RunMonkeyTest\4.9.0_PDA_543_030410.apk
;apk包名
package_name = com.govee.home

2)cases目录下test_RunMonkey.py核心代码文件

一键执行py文件即可产生测试报告

测试报告和log文件展示:

备注:需要结合测试报告以及log日志进行综合分析(分析方法:见上一步)

四、安卓专项性能监控(cpu、流量、fps、电量、内存、温度、占用总内存、占用总cpu)

备注:只有勾选了导出excel选项,监控结束后才能导出

导出后的excel报告详情展示:

posted @ 2022-03-16 17:51  橘子偏爱橙子  阅读(702)  评论(0编辑  收藏  举报