1. 程式人生 > >APP效能測試--功耗測試

APP效能測試--功耗測試

一、功耗測試基礎

移動裝置的電池電量是非常有限的,保持持久的續航能力尤為重要。另外,android的很多特性都比較耗電(如螢幕,GPS,sensor感測器,喚醒機制,CPU,連網等的使用),我們必須要慎重檢查APP的電量使用,以免導致使用者手機耗電發熱,帶來不良體驗。

獲取手機電池資訊

adb命令:adb shell dumpsys battery

得到資訊如下:

1 AC powered: false 2 USB powered: true 3 Wireless powered: false 4 status: 1 #電池狀態:2:充電狀態 ,其他數字為非充電狀態 5 health: 2 #電池健康狀態:只有數字2表示good 6 present: true #電池是否安裝在機身 7 level: 55 #電量: 百分比 8 scale: 100 9 voltage: 3977 #電池電壓10 current now: -335232 #電流值,負數表示正在充電11 temperature: 335 #電池溫度,單位是0.1攝氏度12 technology: Li-poly #電池種類=

二、測試項:

  • a、測試手機安裝目標APK前後待機功耗無明顯差異。
  •  b、常見使用場景中能夠正常進入待機,待機電流在正常範圍內。
  • c、長時間連續使用應用無異常耗電現象。

三、軟體功耗測試方法:

第一種基於android提供的PowerManager.WakeLock來進行;

第二種通過 adb shell dumpsys batterystates 來獲取。

四、功耗測試方案

【1】 手工測試---adb命令測試功耗

流程:進入APP,定格畫面,拔掉資料線,操作,插上資料線

1、進入手機程序:adb shell

2、清除歷史資料:dumpsys batterystats --reset

3、根據包名查詢UID:ps| grep excelliance(某個詞,系統自動補全)

4、根據查到的UID查詢資料:dumpsys batterystats | grep UID

5、等時間到了之後,通過下面命令來儲存電池資訊到本地:adb shell dumpsys batterystats > batterystats.txt(不能進入shell程序裡面輸出日誌)

6、使用我們的battery-historian來生成我們可見HTML報告: python historian.py batterystats.txt > batterystats.html

【2】自動化測試---Python指令碼

原理:同樣使用adb命令來查詢功耗,通過更改電池狀態記錄改變資訊

電池狀態(status):充電、放電、未充電、已充滿、未知等不同狀態。

1.改變手機電池狀態

手機連線到電腦,預設為充電狀態

切換手機電池為非充電狀態: adb shell dumpsys battery set status 1

2. 改變手機電量

讓手機電量顯示百分百: adb shell dumpsys battery set level 100

讓手機電量顯示1: adb shell dumpsys battery set level 1

3. 軟體角度模擬斷開充電(實際上是充進電)

adb shell dumpsys battery unplug (注意:必須在andorid 6.0以上的版本)