探索Android移動終端的滑動效能自動化測試

2021-07-10 08:54:29 字數 1603 閱讀 6130

本文主要介紹android移動終端的滑動效能測試方法,核心原理是通過 自動滑動+fps值 計算來評估待測介面的滑動效能情況。

fps值一般用來在遊戲執行等動畫表現力的評測上,一般fps數值越大,則反映系統處理動畫的效果越好。但是在滑動介面的情況下,超過40左右人眼是很難區分出來是否有卡頓現象,所以需要獲取真實的數值並且記錄起來。

通過去找android的底層方法,發現su***ceflinger這個類可以提供動畫的繪製幀率資料。

通過adb命令:adb shell dumpsys su***ceflinger --latency

,會出現如下的資料buffer

其中第二列我大概判斷是unix的時間戳值,這裡的每行資料即為當前實時的每幀生成的時間,這個命令生成的資料buffer大概有120+行,所以大概是2s左右的乙個資料段。

其中我還發現有如下幾個命令生成不一樣的資料:

dumpsys su***ceflinger --latency   

獲取預設的幀資料(128行幀生成時間戳的資料,取其中數值最高的1列作為計算的值)

dumpsys su***ceflinger --latency-clear

清除buffer區

dumpsys su***ceflinger  --list

當前介面的view列表

dumpsys su***ceflinger --latency

指定view的幀資料

dumpsys su***ceflinger --latency

指定包名的幀資料

dumpsys su***ceflinger --latency /

指定activity的幀資料

獲取buffer後,再通過下面的處理

public void do_exec(final string cmd) ");

// must match :length>10,is number

if (tt.length > 1 && tt[1].length() >= 10 && mfunction.isnumeric(tt[1]))

}computefps();

writeexcelother();

writeexcelfinal();

if (p != null)

if (in != null)

} catch (ioexception e)

}});

thread.start();

}

private void computefps()  else 

} }

最終將fps值寫入到excel**中

// write excel other

private void writeexcelother()

這塊的內容比較多,因為獲取fps值還不夠,我們需要每次測試固定滑動手法,以及需要自動化填充資料來保證測試的環境,所以自動化執行滑動操作時必須的。

這塊準備另起一篇文章進行介紹。待續

Android 移動終端camera 防偷 拍設定

目前市面上的所有移動終端幾乎都有camera 應用,但android html rel nofollow android 原生系統在靜音模式下拍照是沒有聲音的,大部分國家的終端都有法規限制,如防止偷 拍 不管什麼模式下拍照都應該發出快門音,針對此問題只要修改android html rel nofo...

android 檢測右滑的WebView

import import android.content.context import android.util.attributeset import android.view.motionevent import android.view.velocitytracker import andr...

android 檢測右滑的WebView

今天產品出新花樣非得要右滑。檢測到右滑手勢後事件不做處理放在activity中做對應的處理即可了。import android.content.context import android.util.attributeset import android.view.motionevent impor...