利用adb命令来测试Android手机App的耗电量

准备工做

最近一段时间工做中须要测试android手机app的耗电量。个人测试思路是使用adb命令行工具来统计电池使用信息。 若是你是第一次接触adb命令,能够看一下我以前的文章:Android测试中经常使用的adb命令html

adb命令用wifi方式链接手机

由于要经过adb命令来监控手机的耗电量,因此建议经过wifi的方式来链接手机,而不是用usb线来链接手机设备。usb方式链接手机会自动给手机充电,这样会影响对耗电量的统计的准确性。经过下面方式来链接手机:前端

$ adb connect 10.1.217.238   #经过输入手机的ip地址来链接手机,ip地址能够在手机的wifi设置中找到
connected to 10.1.217.238:5555

若是看到connected字样就是证实链接成功了,能够经过下面adb命令来验证:android

$ adb devices
List of devices attached
10.1.217.238:5555       device
04c5a5af52197902        device

注意若是你遇到下面的错误提示,请经过adb tcpip 5555命令来重启端口,具体命令代码以下:shell

$ adb connect 10.1.217.238
unable to connect to 10.1.217.238:5555: Connection refused
$ adb tcpip 5555  # 要先经过usb正确链接手机和电脑
restarting in TCP mode port: 5555
$ adb connect 10.1.217.238   #再次尝试链接手机
connected to 10.1.217.238:5555

成功经过wifi链接好手机后,就能够断开usb数据线链接了。app

adb命令查询被测试app的uid

启动要测试的app后,再使用下面命令来查询被测应用的uidless

$ adb shell ps | grep com.package.name  # 输入被测试应用的包名称
u0_a138   30976 202   1738008 131660 ffffffff 00000000 S com.package.name

输出结果中第一个字段就是这个应用的uid,后面在查看电池统计报告中须要用到,可是注意要将字段中的下划线“_”去掉。例如u0_a138,替换为u0a138。tcp

adb电池信息相关命令

下面命令能够查看设备的电池信息:编辑器

$ adb shell dumpsys battery
Current Battery Service state:
  AC powered: false
  USB powered: false
  Wireless powered: false
  status: 3
  health: 2
  present: true
  level: 93    #剩余电量百分比
  scale: 100
  voltage: 4293
  temperature: 350
  technology: Li-ion

上面比较有用的是剩余电量百分比(level)工具

能够用下面命令来查看详细的电池使用信息:测试

$ adb shell dumpsys batterystats | less

由于输出的信息不少,因此使用less命令来查看。也能够将输出重定向到一个日志文件中。

$ adb shell dumpsys batterystats > batterystats_log.txt

经过下面命令来重置电池的统计信息:

$ adb shell dumpsys batterystats --reset
Battery stats reset.

app耗电量的具体测试方法

首先经过上面提到的命令正确经过wifi链接手机和电脑,经过adb devices命令确认链接成功,查询到被测应用的uid,而且在测试开始前将电池的统计信息重置。 而后开始操做被测应用,例如,持续点击此应用10分钟,等时间到了以后,经过下面命令来保存电池信息到本地。

$ adb shell dumpsys batterystats > batterystats_log.txt

再经过文本编辑器打开刚刚保存的文件,并查看Estimated power use (mAh)相关信息,并查看对应uid的耗电信息。 这样就获得,10分钟前端正常使用app后,这个app的具体耗电状况啦。

参考文献:

http://www.cnblogs.com/smstars/p/5179321.html

相关文章
相关标签/搜索