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安装
battery-historian耗电量测试的更多相关文章
- Battery Historian之App耗电量测试
一.Battery Historian测试所需环境:Go+Git+Python+Java+Battery Historian源码 下载Battery Historian源码并且运行的步骤如下: 1.打 ...
- APP耗电量测试
现象 APP耗电,导致电池续航能力不佳,如下图,在小米MIX2和iPhone X机型上后台静默一小时各应用的耗电排行: 基本概念 相对于PC来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为 ...
- 通过 Battery Historian 工具分析 Android APP 耗电情况
电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...
- Battery Historian for windows环境搭建
Battery Historian for windows环境搭建 简介:Battery historian是一款通过上传bugreport文件分析用户手机中App的电池耗电情况的工具. Batter ...
- Docker安装使用battery historian
apt-get insatll docker.io battery historian ubuntu下使用 首先要确保是google浏览器,然后用命令行 google-chrome --proxy-s ...
- Battery historian安装及使用
在介绍Battery historian之前首先来介绍一下 Android adb bugreport 工具,bugreport是什么,怎么用? android系统想要成为一个功能完备,生态繁荣的操作 ...
- Android CPU耗电量测试
Android CPU耗电量测试 在测试Android app时,不仅仅要关注app的功能,也好关注app的性能指标,cpu.内存.流量.电量等.简单介绍下电量测试中的cpu耗电. 影响耗电的因素 C ...
- iOS耗电量测试
iOS耗电量测试 本文主要介绍的是使用Energy Diagnostics Instruments来进行iOS耗电量测试. 一.使用方法: 1)iOS 设置选项 ->开发者选项 ->log ...
- 【官网翻译】性能篇(四)为电池寿命做优化——使用Battery Historian分析电源使用情况
前言 本文翻译自“为电池寿命做优化”系列文档中的其中一篇,用于介绍如何使用Battery Historian分析电源使用情况. 中国版官网原文地址为:https://developer.android ...
- 电量分析工具 Battery Historian 的配置及使用
1.Building from source code(通过各种配置后从源码构建) 官方流程看似很麻烦,但一上手,很快就搞定,让我情何以堪. ps:以下均是参考官方及网友做的 copy https:/ ...
随机推荐
- 手动解析word Table模块内容
最近来了一个需求, 需要手动解析word ( 好处就是不需要安装office 以及不会有office解析的线程残留),然后就是可以自定义解析规则,比较方便 比如解析这个word里面的内容: 标题,表格 ...
- MVP、原型、概念验证,傻傻分不清楚?
MVP.原型以及概念验证这三者的概念虽然没有密切的联系,但也有不少人会分不清这三者的区别,在这篇文章中,我们会帮大家区分一下这三个概念.首先是MVP,MVP是Minimum Viable Produc ...
- 浅谈Java并发
Java并发是比较难的知识点,难于对并发的理解.并发要从操作系统和硬件层面去理解,才会比较深入,而不单单是从编程语言的逻辑去理解. 首先对于并发要清楚的几点: 线程可能在任何时刻被切换.计算机只对硬件 ...
- [python] tensorflow中的argmax()函数argmax()函数
首先 import tensorflow as tf tf.argmax(tenso,n)函数会返回tensor中参数指定的维度中的最大值的索引或者向量.当tensor为矩阵返回向量,tensor为向 ...
- [python] NetworkX实例
文章目录 NetworkX实例 1. 基础Basic 2. 绘图Drawing 3. 图标Graph NetworkX实例 代码下载地址 NetworkX 2.4版本的通用示例性示例.本教程介绍了约定 ...
- 在GCP上创建GCE的三种方式(Console,gcloud,Terraform)
1 简介 如果要选择GCP为云平台,则经常需要创建GCE(Google Compute Engine),有以下几种方式: (1) 在浏览器创建 (2) 命令 gcloud (3) Terraform ...
- 轻松解决 CSS 代码都在一行的问题
前言 最近在做博客园的界面美化,用的是博客园[guangzan]的开源项目,配置超级简单,只需要复制粘贴代码就好啦. 但在粘贴 CSS 代码时遇到一个问题,那就是所有代码都挤在了一行,没有一点排板的样 ...
- group by 语句怎么优化?
一.一个简单使用示例 我这里创建一张订单表 CREATE TABLE `order_info` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键', `or ...
- 洛谷P1048 典型01背包问题
写在前面的话 蒟蒻在学习诸多图论算法之前,实际上没学过dp! 强说是学过也是只学了01背包,今天就来温习一下-- DP是啥? 动态规划(Dynamic Programming,DP)是运筹学的一个分支 ...
- Ubuntu20.04/22.04 安装 Arduino IDE 2.x
这周收到两片基于LGT8F328P LQFP32的Arduino Mini EVB, 机器上没有 Arduino 环境需要新安装, 正好感受一下新出的 Arduino IDE 2.x, 记录一下 Ub ...