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(如下圖所示)

 

 

步驟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;

更多數據表說明見:http://www.lyonanderson.org/blog/2014/11/05/ios-diagnostics-part-2/

 

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瀏覽器中輸入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM