成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

通過(guò)python調(diào)用adb命令對(duì)App進(jìn)行性能測(cè)試方式

瀏覽:90日期:2022-07-29 11:04:30

1 監(jiān)聽(tīng)啟動(dòng)activity 信息命令adb shell logcat | grep START 可以查看apk包名和Activity名字

=========啟動(dòng)時(shí)間============

2 冷啟動(dòng)(第一次啟動(dòng))熱啟動(dòng)(沒(méi)有退出,第二次打開)命令 adb shell am start -W -n com.qihoo.appstore/.home.MainActivity

3 停止app命令(冷啟動(dòng)) adb shell am force-stop com.qihoo.appstore

(熱啟動(dòng)方式退出) adb shell input keyevent 3

python 來(lái)實(shí)現(xiàn)方式

1定義App類方法有startApp stopApp getStartTime

2 Manager類 方法 testRunTime(執(zhí)行單次) run 開啟執(zhí)行

==============cpu=================

查看cpu數(shù)據(jù)

adb shell dumpsys cpuinfo | findstr com.qihoo.appstore

注意 window 下必須把grep 換成 findstr

==================內(nèi)存=========================

第一種

adb shell dumpsys meminfo com.qihoo.appstore

第二種方式

1 執(zhí)行adb shell top >f:/meminfo.txt 一段時(shí)間后

2 再 解讀文件信息

===============流量===================

1獲取當(dāng)前進(jìn)程的adb shell ps | findstr com.qihoo.appstore

adb shell cat /proc/pid/net/dev

=================電量======================

執(zhí)行獲取電量的命令 adb shell dumpsys battery

設(shè)置手機(jī)進(jìn)入非充電狀態(tài) adb shell dumpsys battery set status 1

=================幀率===fps===================

adb shell dumpsys gfxinfo com.qihoo.appstore > f:/fps.txt

Draw:表示在Java中創(chuàng)建顯示列表部分中,OnDraw()方法占用的時(shí)間。

Process:表示渲染引擎執(zhí)行顯示列表所花的時(shí)間,view越多,時(shí)間就越長(zhǎng)

Execute:表示把一幀數(shù)據(jù)發(fā)送到屏幕上排版顯示實(shí)際花費(fèi)的時(shí)間。其實(shí)是實(shí)際顯示幀數(shù)據(jù)的后臺(tái)緩存區(qū)與前臺(tái)緩沖區(qū)交換后并將前臺(tái)緩沖區(qū)的內(nèi)容顯示到屏幕上的時(shí)間。

Draw + Process + Execute = 完整顯示一幀 ,這個(gè)時(shí)間要小于16ms才能保證每秒60幀。

取得數(shù)據(jù)后,復(fù)制到excel中生成堆積柱狀圖。

補(bǔ)充知識(shí):python調(diào)用adb命令進(jìn)行手機(jī)操作

Python中執(zhí)行cmd命令可以用到os和subprocess兩個(gè)模塊。

區(qū)別在于os是阻塞式的,subprocess是非阻塞式的,所以一般我們使用subprocess是比較適合的。

接下來(lái)我先舉一個(gè)查詢連接設(shè)備的命令來(lái)看看python中怎么樣的寫法。用到的命令為 adb devices。

方式一:

import os

os.system(’adb devices’) #獲取連接設(shè)備

運(yùn)行結(jié)果

List of devices attached

Q8DCGQA6JBQRSAI device

方式二:

import subprocessorder=’adb devices’ #獲取連接設(shè)備pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)print(pi.stdout.read()) #打印結(jié)果

運(yùn)行結(jié)果

b’List of devices attachedrAQ8DCGQA6JBQRSAItdevicernrn’

以上這篇通過(guò)python調(diào)用adb命令對(duì)App進(jìn)行性能測(cè)試方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章: