Batterystats 是包含在 Android 框架中的一种工具,用于收集设备上的电池数据。您可以使用 adb 将收集的电池数据转储到开发计算机,并创建一份可使用 Battery Historian 分析的报告。Battery Historian 会将报告从 Batterystats 转换为可在浏览器中查看的 HTML 可视化内容。
适合的场景:
显示进程从什么位置以及通过何种方式消耗电池电量。
识别系统为了延长电池续航时间可能会延迟甚至移除应用中的哪些任务。
01 安装Battery Historian
安装Battery Historian的最简单方法是使用Docker。对于其他安装方法(包括从源代码编译),请参阅项目的GitHub页面上的自述文件。
要使用 Docker 进行安装,请执行以下操作:
按照 Docker 网站上的说明安装 Docker 社区版。
要确认 Docker 是否已正确安装,请打开命令行并输入以下命令:
docker run hello-world
- 1
使用以下命令运行 Battery Historian 映像
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
- 1
Battery Historian 将使用您选择的端口,如使用 port_number 指定的端口。
在浏览器中转到 Battery Historian 以确认它正在运行。
具体地址因操作系统而异:
对于Linux和Mac
Battery Historian可在http://localhost:port_number下找到。
对于Windows
启动Docker后,它会告诉您其所用计算机的IP地址。因此,例如,如果IP地址为123.456.78.90,则Battery Historian可在http://123.456.78.90:port_number下找到
您将看到 Battery Historian 初始页,可通过此页面上传和查看电池统计信息。
02 使用Batterystats收集数据
要使用Batterystats从您的设备收集数据并在Battery Historian中打开该数据,请执行以下操作:
移动设备连接到计算机。
在终端窗口中,关闭正在运行的 adb 服务器。
adb kill-server
- 1
重启 adb 并检查是否有已连接的设备。
adb devices
- 1
系统应该会列出您的设备,如果您没有看到任何设备,请确保您的手机已连接,且 USB 调试功能已开启,然后终止并重启 adb
重置电池数据收集
adb shell dumpsys batterystats --reset
- 1
设备始终会在后台收集 batterystats 和其他调试信息。重置操作会清除旧的电池收集数据。如果不重置,输出内容会超大。
断开设备与计算机的连接,以便仅消耗设备电池的电量。使用您的应用并执行您想要获取数据的操作;例如,断开 WLAN 连接并将数据发送到云端。重新手机连接。确保您的手机已被识别
转储所有电池数据。此过程可能需要一段时间:
adb shell dumpsys batterystats > [path/]batterystats.txt
- 1
系统会使用可选路径参数在您指定的目录中创建 batterystats.txt 文件。如果您没有指定路径,则会在您的主目录中创建该文件。
使用原始数据创建报告
adb bugreport > [path/]bugreport.zip
- 1
错误报告可能需要几分钟才能完成。在完成之前,请勿断开设备连接或取消该进程。
与上面的 batterystats.txt 一样,这些文件是系统使用可选的路径参数在您指定的目录中创建的。如果您没有指定路径,系统将在您的主目录中创建这些文件。
如果 Battery Historian 尚未运行,请使用以下命令运行
docker --run -p port_number:9999 gcr.io/android-battery-historian:2.1 --port 9999
- 1
要在 Battery Historian 中查看数据,请在浏览器中打开 Battery Historian。
(对于 Mac 和 Linux,Battery Historian 在 http://localhost:port_number 下运行。对于 Windows,Battery Historian 在 http://your_IP_address:port_number 下运行。)
点击 Browse,然后选择您在上面创建的错误报告文件
点击 Submit。Battery Historian 将打开您根据 batterystats 数据创建的图表。
03 使用Battery Historian图表查看数据
Battery Historian图表会显示一段时间内与电源相关的事件。
当系统组件处于活动状态时,每行都会显示一个彩色条形段,以此表示正在消耗电池电量。该图表不会显示该组件使用的电量,仅表示相关应用处于活动状态。图表按类别进行整理,并显示每个类别随时间变化的一个条形,如图表的 X 轴所示。
从下拉列表中添加其他指标:
将光标悬停在信息图标上可查看有关每个指标的更多信息,包括图表中使用的颜色对应的键
将光标悬停在某个条形上可查看有关该指标的更多详细信息以及时间轴上特定点的电池统计信息
04 其他Batterystats输出
您可以在 Battery Historian 图表下方统计信息部分的 batterystats.txt 文件中查看其他信息
System Stats 标签页包含系统范围的统计信息,例如电池信号电平和屏幕亮度。此信息可全面反映设备的具体情况。这对于确保没有任何外部事件影响您的测试尤为有用
App Stats 标签页包含有关特定应用的信息。使用左侧“App Selection”窗格中的 3 排序应用下拉列表对应用列表进行排序。您可以选择特定应用来查看使用下方的 4 应用下拉列表的统计信息
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。