APP性能测试
adb命令查看手机使用情况
adb shell dumpsys [options]
options: meminfo <应用名> 显示内存信息
cpuinfo 显示cpu信息
wifi 显示wifi信息
activity 显示所有activity信息
account 显示所有account信息
window 显示键盘,窗体和它们的关系
adb查看进程资源占用
adb shell top -d 1
-d 表示时间间隔(单位秒)
Androoid APP包名获取
- 连接手机,输入adb devices, 检查手机是否连接正常
- 输入adb shell pm list package, 查找到appb包名
APP monkey测试
monkey 是google提供的稳定性与压力测试的工具
基本命令: adb monkey shell <事件数> >文件路径
options:
- -v 显示日志级别1详情
- -vv 显示日志级别2详情
- -vvv 显示日志级别3详情(最详细日志)
- -p <包名>
- --throttle
每个事件结束后的间隔时间 - -s
随机种子值 - --pct-touch 触摸事件(设定点击事件百分比)
- --pct-motion 滑动事件
- --pct-trackball 轨迹球事件
- --pct-nav 导航事件(比如输入设备上下左右键盘)
- --pct-majornav 主要导航事件(比如中间键,返回键,菜单键)
- --pct-syskeys 系统案件事件(比如HOME键,BACK键,拨号键,音量键)
- --pct-appswitch activity之间的切换
- --pct-pinchzoom 缩放事件
- --pct-rotation 屏幕旋转事件
- --pct-flip 键盘事件
- --pct-anyevent 任意事件(不常用事件百分比)
- --ignore-crashes 忽略奔溃
- --ignore-timeouts 忽略超时
- --ignore-security-exceptions 忽略安全异常
- --kill-process-after-error 发生错误后直接杀掉进程
- --dbg-no-events 初始化启动的activity,但是不产生任何事件
- --monitor-native-crashes 跟踪本地方法的奔溃问题
- --wait-dbg 直接连接了调试器才执行monkey测试
- --bugreport 当ANT,系统无响应,Crash的时候获得bugreport
奔溃日志查看
- adb logcat -c 清理现有日志
- adb logcat -v time > D:\logcat.log 记录日志到指定文件
adb指令 实现自动化
1. adb shell input keyevent <num>: 发送key命令, eg: 4
2. adb shell input tap <num> <num> :在某坐标点击 ,eg: tap 228 228
3. adb shell input swipe 360 640 400 640: 从左向右滑动屏幕
4. adb shell input swipe 360 640 400 640 2000: 长按
5. adb shell input text <文本>: 输入文本
6. adb exec-out screencap -p > flash.png //exec-out命令声明原样输出数据,-p png 输出文件尾缀应相同
APP压测的目标
- 提高产品的稳定性
- 提高产品的留存率
什么时候开展压测
- 首轮功能测试通过后
- 下班后的夜间进行
MonkeyRunner APIs
- monkeyRunner: 用来连接设备和模拟器
- monkeyDevice: 提供安装、卸载应用,发送模拟事件
- monkeyImage: 图像保存,及对比操作
异常测试结果
- CRASH ,程序奔溃
- ANR:application not responding, 出现这种异常,用户可以有2种选择:1. 强制关闭APP 2. 继续等待