Batterystats 是包含在 Android 框架中的一种工具,用于收集设备上的电池数据。您可以使用 adb 将收集的电池数据转储到开发计算机,并创建一份可使用 Battery Historian 分析的报告。Battery Historian 会将报告从 Batterystats 转换为可在浏览器中查看的 HTML 可视化内容。
适合的场景:
显示进程从什么位置以及通过何种方式消耗电池电量。
识别系统为了延长电池续航时间可能会延迟甚至移除应用中的哪些任务。
01 安装Battery Historian
安装Battery Historian的最简单方法是使用Docker。对于其他安装方法(包括从源代码编译),请参阅项目的GitHub页面上的自述文件。
要使用 Docker 进行安装,请执行以下操作:
按照 Docker 网站上的说明安装 Docker 社区版。
要确认 Docker 是否已正确安装,请打开命令行并输入以下命令:
docker run hello-world
使用以下命令运行 Battery Historian 映像
docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999
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
重启 adb 并检查是否有已连接的设备。
adb devices
系统应该会列出您的设备,如果您没有看到任何设备,请确保您的手机已连接,且 USB 调试功能已开启,然后终止并重启 adb
重置电池数据收集
设备始终会在后台收集 batterystats 和其他调试信息。重置操作会清除旧的电池收集数据。如果不重置,输出内容会超大。
断开设备与计算机的连接,以便仅消耗设备电池的电量。使用您的应用并执行您想要获取数据的操作;例如,断开 WLAN 连接并将数据发送到云端。重新手机连接。确保您的手机已被识别
转储所有电池数据。此过程可能需要一段时间:
adb shell dumpsys batterystats > [path/]batterystats.txt
系统会使用可选路径参数在您指定的目录中创建 batterystats.txt 文件。如果您没有指定路径,则会在您的主目录中创建该文件。
使用原始数据创建报告
adb bugreport > [path/]bugreport.zip
错误报告可能需要几分钟才能完成。在完成之前,请勿断开设备连接或取消该进程。
与上面的 batterystats.txt 一样,这些文件是系统使用可选的路径参数在您指定的目录中创建的。如果您没有指定路径,系统将在您的主目录中创建这些文件。
如果 Battery Historian 尚未运行,请使用以下命令运行
docker --run -p port_number:9999 gcr.io/android-battery-historian:2.1 --port 9999
要在 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 应用下拉列表的统计信息
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!