IOS手机耗电量测试

1. 耗电量原始测试方法

1.1 方法原理:

根据iPhone手机右上角的电池百分比变化来计算耗电量。

1.2实际操作:

在iOS通用设置中打开电池百分比数值显示,然后操作30分钟,60分钟,90分钟,看开始时和结束时电池百分比数值的差值。

1.3 优缺点分析:

1、电池百分比数据非常粗略,并且电池从90%掉电至80%与80%掉电至70%不一定相等

2、测试时需要关闭手机所有后台应用除待测应用外,但统计的耗电量仍然把亮屏耗电、通讯模块耗电都统计进去,因此会发现OLED和LCD屏幕的手机耗电量不一样,使用wifi模块和3G网络的耗电量不一样

综上所述:如果耗电量是看整个手机的耗电情况,那么受影响的因素比较多,干扰大,无法准确得出被测应用的真实耗电数据。

2. 耗电量文艺测试方法

2.1方法原理:

从iOS8系统开始,iPhone手机在电量选项中会看到前后台运行时长和电池消耗占比数据(如下图所示),这些数据会自动收集在iPhone手机数据库里,并会上报给苹果服务器,因此通过HTTP劫持工具可以截获手机上报的这些数据。

图片

2.2实际操作:

步骤1:在iMac机上安装HTTP劫持工具mitmproxy,打开iMac机上的终端命令输入界面,然后输入以下命令:

sudo  easy_install  php

sudo  pip  install  mitmproxy

注:使用mitmproxy原因是支持手机端,并且有Mac版本,比Fiddler、HttpWatch要方便很多。

步骤2:将解析HTTP请求并保存文件的capture.py脚本放置在iMac机上,然后运行命令:

mitmdump  -s  “capture.py   --bat”

步骤3:将待测手机和iMac都连接到同一个wifi网络下,然后打开手机中的wifi设置,设置手机的HTTP代理服务器IP为iMac的IP,端口为8080(如下图所示)

图片

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

步骤4:打开iPhone手机上的Safari,输入http://mitm.it,选择苹果图标并安装mitm证书,证书只需首次测试时需要安装。

图片

步骤5:回到Safari浏览器,输入diags://进入iOS诊断信息界面,在报告编号中输入:123456,点击扩展测试(如图1所示),待该界面左上角出现“完成”后,在capture.py的相同目录会出现power-YYYYMMDD-hhmmss.tar.gz的压缩文件(如图2所示)。

图片

图1

图片

图2

步骤6:双击ID开头的文件,会出现以PLSQL结尾的文件,可以通过MesaSQLite打开,切换到“SQL Query”选项页,输入SQL语句即可。

图片

以上红框的记录表明:2015年10月23号,com.qq.tencent.dailybuild进程在8:00至9:00在3600秒时间内耗电量为436.9832mW/h。

查看后台运行时长的SQL语句:

select datetime(timestamp, unixepoch','localtime') AS Time,* from PLAppTimeService_Aggregate_AppRunTime where BundleID= 'com.tencent.qq.dailybuild';

查看耗电量的SQL语句:

select datetime(timestamp,'unixepoch','localtime') as time, * from PLBLMAccountingService_Aggregate_BLMAppEnergyBreakdown  where  BLMAppName='com.tencent.qq.dailybuild';

查看温度的SQL语句:

select datetime(timestamp,'unixepoch','localtime') as time, * from PLBatteryAgent_EventBackward_Battery;

2.3 优缺点分析:

优点:

1)此方法获取的数据即iOS系统统计的数据,因此数据具备较强的说服力;

2)能够获取应用的耗电量数据,不再是统计整机的耗电量。

缺点:最短只能统计1个小时内的耗电量数据,对于响应时间较快操作的耗电量建议还是用powermonitor进行测试。

3. 常见问题

问题:mitmdump运行capture.py出现command not found提示怎么办?

图片

解答:出现mitmdump指令查找不到说明mitmproxy安装有问题,需要运行sudo  pip  install  mitmproxy重新进行mitmproxy的安装。

问题:在安装mitmproxy出现libxml/xmlversion.h file not found提示,怎么解决?

图片

解答:这是在安装依赖包lxml报错,首先根据警告执行下图红框的命令,然后再执行xcode-select  --install命令

图片

问题:为什么在手机的QQ浏览器或UC浏览器中输入http://mitm.it没有看到mitm证书安装界面?

解答:必须要在iPhone手机的Safari浏览器中输入地址,同理diags://也必须要在Safari浏览器中输入。

最后: 可以在我的VX公众号:【自动化测试老司机】免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值