battery-historian耗电量测试

Battery-Historian简介

Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lollipop)及以后版本的设备上电池的相关信息和事件的工具,是一款对于分析手机状态,历史运行情况很好的可视化分析工具。对应的软件包和使用简介参考:https://github.com/google/battery-historian

耗电量指标

待机时间是关键指标

提升用户体验

通过不同的测试场景,找出APP高耗电量的场景并解决

环境准备

1、历史原因,historian.py脚本支持Python2,下载安装Python2配置环境变量

2、go 环境安装(下载:https://golang.org/doc/install),配置GOPATH and GOBIN到环境变量

     GOPATH:配置GO工作目录(D:\workspace\go\src)
     GOBIN:配合Go安装目录

3、jdk安装配置环境变量

4、git安装配置环境变量

安装步骤,参考https://github.com/google/battery-historian官网

1、打开git命令窗口,切换到GOPATH目录

2、go get -d -u github.com/google/battery-historian/...

3、cd battery-historian

4、go run setup.go

5、go run cmd/battery-historian/battery-historian.go

备注:进行步骤5前,需要修改battery-historian目录下的setup.go文件,把closureCompilerVersion 改为 "20190513"(只是最稳定版本)

          因为不能FQ访问外网,会出现各种奇怪问题,可参考https://blog.csdn.net/shiyisay/article/details/112470978,文章作者整理很到位。

测试步骤

使用batterystats生成数据(adb自带batterystats)

使用Battery historian分析数据

batterystats收集数据步骤

复制代码
1、清理耗电量数据
   adb shell dumpsys batterystats --reset
   adb shell dumpsys batterystats --enable full-wake-history(不用执行,默认就是开启状态,命名用途是收集电量等数据统计)

2、运行测试用例/手工操作
   可功能测试时监控或者monkey、appCrawler等工具遍历

3、收集数据
   Android7.0及以上版本:adb bugreport bugreport.zip
   Android6.0版本:adb bugreport >bugreport.txt

4、上传数据
   本地浏览器访问:localhost:9999,把zip或者txt文件数据上传

5、生成报告
复制代码

备注:

1、涉及文件需求或更新,需要再次执行编译命令:go run setup.go

2、生成报告,需要执行go run cmd/battery-historian/battery-historian.go

3、编译与执行,全部在/workspace/go/src/github.com/google/battery-historian目录下

historian

 进入Historian

 X轴代表时间周期,默认以60s为一个周期

其对应指标含义:

battery_level:电量

plugged:充电状态及充电时间

screen:屏幕是否点亮

top:显示当前手机运行的app

status:电池状态信息,有充电、放点、未充电、已充满、未知等不同状态

遗留问题:https://www.google.com/jsapi 不能FQ,访问总是超时导致historian数据查看不了,如果用离线js,则报错404

问题截图

 

 

 

 

 

解决办法:docker安装

 

posted @   钟爱酷夏  阅读(347)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示