一、功耗测试基础
移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要。另外,android的很多特性都比较耗电(如屏幕,GPS,sensor传感器,唤醒机制,CPU,连网等的使用),我们必须要慎重检查APP的电量使用,以免导致用户手机耗电发热,带来不良体验。
获取手机电池信息
adb命令:
adb shell dumpsys battery
得到信息如下:
1 AC powered: false 2 USB powered: true 3 Wireless powered: false 4 status: 1
#电池状态:2:充电状态 ,其他数字为非充电状态
5 health: 2
#电池健康状态:只有数字2表示good
6 present: true
#电池是否安装在机身
7 level: 55
#电量: 百分比
8 scale: 100 9 voltage: 3977
#电池电压
10 current now: -335232
#电流值,负数表示正在充电
11 temperature: 335
#电池温度,单位是0.1摄氏度
12 technology: Li-poly
#电池种类=
二、测试项:
- a、测试手机安装目标APK前后待机功耗无明显差异。
- b、常见使用场景中能够正常进入待机,待机电流在正常范围内。
- c、长时间连续使用应用无异常耗电现象。
三、软件功耗测试方法:
第一种基于android提供的PowerManager.WakeLock来进行;
第二种通过
adb shell dumpsys batterystates
来获取。
四、功耗测试方案
【1】
手工测试---adb命令测试功耗
流程:进入APP,定格画面,拔掉数据线,操作,插上数据线
1、进入手机进程:adb shell
2、清除历史数据:dumpsys batterystats --reset
3、根据包名查询UID:
ps| grep excelliance
(某个词,系统自动补全)
4、根据查到的UID查询数据:
dumpsys batterystats | grep UID
5、等时间到了之后,通过下面命令来保存电池信息到本地:adb shell dumpsys batterystats > batterystats.txt(不能进入shell进程里面输出日志)
【2】
自动化测试---Python脚本
原理:同样使用adb命令来查询功耗,通过更改电池状态记录改变信息
电池状态(status):充电、放电、未充电、已充满、未知等不同状态。
1.改变手机电池状态
手机连接到电脑,默认为充电状态
切换手机电池为非充电状态:
adb shell dumpsys battery set status 1
2. 改变手机电量
让手机电量显示百分百: adb shell dumpsys battery set level 100
让手机电量显示1: adb shell dumpsys battery set level 1
3. 软件角度模拟断开充电(实际上是充进电)
adb shell dumpsys battery unplug
(注意:必须在andorid 6.0以上的版本)
本文关注APP性能测试中的功耗测试,包括检查安装前后待机功耗变化、应用在常用场景下待机电流是否正常,以及长时间使用是否出现异常耗电问题。确保了用户在享受流畅体验的同时,也能保持良好的电池续航。
7384

被折叠的 条评论
为什么被折叠?



