GT性能測試Android版使用說明

1 GT簡介html

         GT(隨身調) Android版是騰訊 MIG 專項測試組自行研發的 Android APP 隨身調測平臺,它是直接運行在手機上的「集成調測環境」(ITE, Integrated Test Environment)。shell

         GTAndroid 版由兩部分組成:緩存

1)        可獨立安裝的 GT(APK)。服務器

2)        須要嵌入被測應用(App Under Test,如下簡稱 AUT)代碼中的 GT SDK(jar 包)。網絡

        之因此叫「集成調測環境」,是由於僅用 GT便可獨立完成以下針對 AUT 的測試工做:併發

l   基礎性能測試:手機整機或者手機上安裝的任何一個 APP 的 CPU、內存、網絡流量、流暢度/幀率、電量等基礎性能指標的實時展現、歷史數據採集及 excel 格式存儲、曲線繪製等。app

l   日誌查看:APP 的 Logcat 日誌查看,便於直接用手機現場定位 APP 功能異常、crash。tcp

l   網絡數據包抓包:直接用手機抓包保存成 pcap 文件,下載到 PC 後用 Wireshark 查看。工具

         除了如上的 GT 控制檯的「集成測試」能力,用戶還能夠將 GT SDK 嵌入到被測應用中,從而使用 GT 的以下更高級的開發調試、測試能力:在 AUT 中加入各類自定義「輸入參數」,從而在 AUT 運行時,經過 GT 的懸浮窗或者設置界面修改這些輸入參數,實時改變 AUT 的能力和行爲(例如,把微博客戶端的單次刷新條數定義爲一個 GT 入參),達到「開發調試」的目的。post

         在 AUT 中加入各類自定義的「輸出參數」(例如,AUT 的各項核心指標),從而在用戶操做 AUT 時,實時觀察 AUT 的這些白盒指標的變化(舉例,客戶端動態選擇的就近接入的後臺服務器地址)。

         在指定的 AUT 代碼中插入 GT 的代碼耗時 API,獲得 AUT 運行時的某些代碼片斷的耗時數據,經過分析進行執行效率調優。

2 安裝、啓動、退出

1)        安裝:請像安裝普通 APP同樣的安裝GT

2)        啓動:像啓動普通 APP 同樣的啓動 GT

3)        在 GT 的一級頁面中,點擊手機的菜單鍵會彈出「Exit」選項。點擊「Exit」便可退出 GT

3 AUT、性能指標與參數設置

         啓動GT後,展現的第一個頁面是AUT的設置頁面。若是是獨立使用GT對AUT進行性能測試(不須要在AUT中嵌入GT SDK),就須要在此頁面設置AUT及須要觀測的基礎性能指標項(CPU、CPU 時間片Jiffes、NET(流量信息)、各種 MEM)。

3.1 設置AUT

3.2 設置關注的性能指標

         GT能夠支持存在多個進程的AUT的測試,能夠關注AUT每一個進程的CPU、CPU時間片Jiffes、內存的 PSS和內存的PrivateDirty指標,以及AUT不區分進程的流量指標Net。選中一個AUT後,便可設置本次測試所關注的性能指標:

        

         如AUT存在多個進程,而想要測試的進程的會比AUT的啓動滯後一些,此時須要在想要測試的進程啓動後,點擊下圖的refresh按鈕,通知GT將新啓動的被測進程的性能指標也監控起來。

        

3.3 輸出參數

         GT提供了三種測試指標或關注信息的展現方式,其中最經常使用的是將指標或關注信息定義爲輸出參數(如下簡稱出參),在出參界面以列表的形式展現。

1)        默認出參界面

         GT出參界面,在不選擇任何AUT的狀況下默認展現了手機整機的基礎性能指標,有CPU、內存、網絡流量、信號值、流暢度/幀率。整機的CPU指標默認放置在可用參數區域即時展現當前值,其餘指標默認放置在禁用區域不關注。

        

2)        出參界面展現AUT設置的性能指標

         AUT設置的性能指標會在出參界面以出參的形式展現:

        

3)        出參調整

         能夠調整哪些出參禁用、可用、放到懸浮框展現。

        

4)        出參數據採集

         大部分GT基本性能出參和經過GTSDK在AUT中插樁自定義的數字型出參,均可以採集其歷史數據。

         第一步,在未採集的狀態下,勾選須要記錄歷史數據的出參。

        

         第二步,點擊開始採集按鈕採集數據。       

     

         點擊開始按鈕後,會開始採集出參的歷史數據。這時能夠到 AUT 界面開始測試 AUT。測試結束後,可點擊懸浮窗上的中止按鈕,或者進入出參界面,點擊中止按鈕。中止後,能夠保存採集的歷史數據。

5)        出參數據保存

         中止採集後,能夠一鍵保存和刪除全部勾選的出參的歷史數據。

        

         點擊保存按鈕時輸入的名稱爲本次測試數據存放的目錄名。數據默認保存在 SD 卡上的 GT/GW//GW_DATA 目錄下,每一個出參歷史數據分別保存到一個文件,文件命名格式爲_.csv,如 FPS_20131128205049.csv。

         測試開始前,若是不但願看到上次測試的歷史數據,能夠先清空勾選的出參。

6)        出參數據展現

         在出參區域爲非編輯狀態,出參所在區域爲非禁用出參區域,且有歷史數據的狀況下,點擊此條出參,能夠進入出參數據展現界面。

        

         歷史數據圖表默認顯示最近不超過50條的記錄,想查看最近50條以前的記錄請拖動圖表。在圖表上長按並滑動能夠顯示具體一條記錄的詳細信息。點擊保存按鈕可單獨保存該出參信息,保存位置與命名方式和一鍵保存相同。長按曲線展現區域,可查看某個點的值。

        

         除了AUT內存的PSS/PrivateDirty和信號值,包括CPU/Jiffes/幀率/流量信息等其餘採集到的數據展現都相似上述圖中的曲線,其中流量信息在點擊刪除按鈕時會同時歸 0。流量數據展現:

        

         AUT內存的PSS/PrivateDirty和信號值的數據展現界面同時有多條曲線,以PSS爲例,其展現界面會同時展現PSS的Total/Dalvik/Native三個值的曲線(注:內存的PSS/Private都區分Total/Dalvik/Native 三個值,與Android手機的meminfo信息對應)。

        

7)        出參告警

         在出參數據展現頁能夠設置持續一段時間,值不在設置的閾值範圍內時的告警提示。告警提示的方式爲通知欄文字變化+鳥鳴聲+震動+出參和 GT 圖標變爲桔色。

        

        

3.4 輸入參數

         輸入參數(如下簡稱「入參」)爲用戶自定義的插入到被測應用程序代碼裏的一種樁,能夠在運行時改變被測代碼裏參數的值。

         舉個例子:好比被測代碼裏有些參數須要調優時,能夠經過入參隨時對這些參數進行修改,對比不一樣參數值下的效果(核心指標能夠用出參實時展現出來)。須要說明的是,懸浮窗上最多同時顯示 3 個入參。全部入參均可以在GT主界面的入參子界面中看到,並能夠在子界面調整顯示在懸浮窗上的入參具體項。

1)        整體界面

2)        切換到入參界面

         點擊Tag 鍵「Para.」便可進入出入參界面,默認是出參界面。點擊in切換到入參界面。

        

3)        編輯入參

         點擊一條入參,進入入參值編輯界面,修改入參的值。

        

4)        編輯入參區域

         入參區域分爲懸浮窗展現區,可用入參區,禁用入參區。 懸浮窗展現區的入參能夠顯示在懸浮窗上,經過操做懸浮窗快速進行編輯。可用入參區的入參不展現在懸浮窗上,可是仍然起做用。禁用入參區的入參不起任何做用。點擊右上角的編輯按鈕,能夠將入參區域切換到編輯狀態。

        

         編輯狀態下,可按住一條入參右端的拖動按鈕,將其移動到其餘入參區域。好比從禁用入參區拖入到可用入參區,這樣原來不起任何做用的入參就起做用了。

        

4        懸浮圖標和懸浮窗

4.1 懸浮窗設置

         單擊「AirConsole」進入懸浮窗設置界面。

        

4.2 GT懸浮圖標

         GTConsole在進入後臺運行後,界面上會顯示GT的懸浮圖標。長按GT懸浮圖標能夠打開或關閉懸浮窗。單擊GT懸浮圖標進入GT主界面。

        

4.3 GT懸浮窗

         懸浮窗是簡化版脫機調試窗口,懸浮在被測程序界面上。經過懸浮窗可實現2屏合一,既能看到被測 app的界面又可看到app內部值等調試信息。懸浮窗能幫助開發者方便快捷的查看app運行狀態和核心指標。

         懸浮窗上內容的刷新頻率可在出參界面上設置。

         懸浮窗按功能可分爲功能區,出參區和入參區。

        

1)      功能區

         右上角爲G&W或profiler按鈕,單擊便可開始或中止。按鈕默認控制G&W開關。

        

         左上角爲計時器,單擊可開始,中止和歸 0,支持 0-999s。

        

2)      出參區

         最多有三個出參展現在懸浮窗上。每一個出參由縮略名(左邊的灰色字符)和內容(右邊的白色字符)兩部分組成。縮略名最長不超過四個字符,超過的話只顯示三個字符加一個點。內容過長時能夠點擊展開,再次點擊收起。

         請將當前最關注的三個出參設置顯示在懸浮窗上,最最關注的設置爲第一個。第一個出參爲大字號顯示,更醒目。

        

3)      入參區

         最多有三個入參展現在懸浮窗上。每一個入參由縮略名(上邊的灰色字符)和內容(下邊的白色字符)兩部分組成。縮略名最長不超過四個字符,超過的話只顯示三個字符加一個點。點擊內容可進入入參編輯界面。

        

5 GT集成的測試組件

5.1 GTBattery(電量)

         電量插件說明:

l   點擊插件界面的電量選項,進入電量插件界面。

l   設定參數項採樣間隔,即每隔多少毫秒(ms)記錄一次參數項數值,推薦設定採樣間隔爲 100ms~1000ms,默認是250ms。

l   勾選被觀測參數項,GT支持電流I、電壓U、電量Power和溫度Temp四個參數。被勾選的參數會出如今輸出參數界面,取消勾選,則從輸出參數界面中清除。

l   點擊Start 按鈕,開始採集相關數值,對應輸出參數界面中顯示相應數值;點擊Stop按鈕,中止採集。

        

5.2 GTPcap(抓包)

         抓包說明:

l   點擊插件界面的抓包選項,進入抓包插件界面。

l   點擊須要輸入名稱,不須要路徑,輸入的名稱會做爲本次抓包的目錄名。若是發生網絡切換致使抓包中斷,會自動從新抓包,名字上加 1,2,3…做區分。

l   採用tcpdump抓包,可自定義抓包參數,不然用默認參數抓包。抓包參數見tcpdump相關說明。

l   抓包手機須要root,抓包保存目錄:SDcard/GT/tcpdump/(2.2.3 版本後保存在SDcard/GT/Capture/下)

        

5.3 GTScreenlock(wakelock 控制)

         避免鎖屏插件由 wakelock 控制,該插件主要提供兩個功能。點擊插件界面的避免鎖屏選項,進入避免鎖屏插件界面。

         開啓 Full wakelock 功能,手機不會主動滅屏;若是手動滅屏,手機也不會進入休眠,點擊進入插件詳情界面單擊開始/中止相應功能狀態。將按鈕置於off 狀態,該功能被關閉。

         開啓Partial wakelock 功能,手機在使用過程當中可以主動滅屏,但進入滅屏狀態後不會休眠。將按鈕置於off狀態,該功能被關閉。

        

5.4 GTMemFill(內存填充)

         內存填充插件,可在手機 RAM 上分配並佔用指定大小的內存空間,所佔用的內存會劃 分在GT應用的名下,在手機的設置→應用→GT 項中能夠觀察到GT佔用RAM大小的變化。

         所填充內存的大小,請根據被測手機剩餘內存的大小適當填充,填充的大小不要超過手機剩餘內存的大小,不然GT應用會崩潰退出;不一樣的手機,能填充的最大數目內存也不一樣,請自行嘗試。

        

6 Profiler功能

         單擊GT界面最下面對應的「Profiler」TAB項,可切換到性能分析界面。該界面用來展現用戶自定義的分析項的統計結果(需配合GT SDK使用)。目前Profiler已實現的功能是統計代碼耗時。代碼耗時項在統計時會按照用戶自定義的group和tag進行分類彙總統計,首先按group分組,組內再按照tag(在tag之上會先區分線程內和可跨線程這兩類)進行分類統計。

6.1 整體界面

        

6.2 啓動/關閉性能分析(profiler)

         啓動性能分析有兩種方法,方法 1:

        

         方法 2,在懸浮框上點擊快捷按鈕

        

         懸浮框上快捷按鈕默認爲G&W的啓動暫停控制,可在設置界面切換爲profiler 的啓動暫停控制。

6.3 性能數據展現

         收集到耗時數據後,Profiler 界面會即時更新當前已收集到數據的分析統計結果:

        

         啓動分析一段時間後暫停分析,還能夠進行把分析信息保存到文件,或清空當前的分析信息。

         點擊一個具體的分析項,會進入該耗時分析項的詳情頁(Detail 頁),Detail 頁面除了提供了分析統計信息,還提供了歷史數據的圖表展現。

        

         耗時分析項的Detail頁中能夠查看採樣次數、單位爲秒的平均值、最大值、最小值。歷史數據圖表默認顯示最近不超過50條的記錄,想查看最近50條以前的記錄請拖動圖表。在圖表上長按並滑動能夠顯示具體一條記錄的詳細信息,與出參詳情頁一致。另外,Detail 頁右上角的保存功能能夠保存該頁顯示的分析統計信息到文件。保存文件路徑爲: sdcard/GT/Profiler/xxx.csv。

        

7 日誌

         GT 提供了脫機調試時能夠查看的日誌,包括GT自定義的日誌和LogCat日誌展現,其中LogCat日誌展現須要手機root權限。單擊GT界面最下面對應的「Log」TAB項,可切換到日誌一級界面。

        

         GT的日誌是GT的主要功能之一,目的是脫機輸出 log。輸出日誌會展現在GT日誌界面上(界面上最多保存1000條最新的日誌),同時還能夠以文件的形式保存到手機上。GT提供了三種保存日誌的形式,對於界面上可見日誌的保存,能夠經過點擊日誌界面右上角的保存按鈕保存成文件;對於某個時間段內的日誌,GT也在代碼中提供了控制保存起始與結束的API接口。

7.1 日誌設置

         單擊「Log 」進入log設置界面,界面內包含日誌的總開關和日誌自動保存開關。日誌總開關關閉後,全部日誌都不會輸出。總開關關閉後,自動保存開關也同時被關閉。日誌自動保存開關打開後,全部日誌會自動保存一份到GT指定的目錄下:目錄 /sdcard/GT/Log/。文件名從0到99,每一個文件最大爲4M,當前文件保存滿後,繼續保存到下一個文件。所有保存滿後,繼續從文件0開始保存,100 個文件循環使用。

        

7.2 GT日誌界面主要功能

         日誌的展現,一條日誌三段組成,第一段是時間,第二段是日誌級別(V,D,I,W,E)、tag、線程號,第三段是日誌消息。界面上最多展現 1000 條最近的日誌。實時過濾(Filter)。GT日誌過濾支持日誌消息匹配、日誌級別匹配、標籤(tag)匹配,最終匹配出的日誌同時知足這三項過濾條件。單擊日誌展現界面,能夠顯示或收起過濾欄。

         右上角爲日誌清空,保存,搜索鍵。保存的邏輯爲所見即所得,過濾完後,單擊保存按鈕,保存過濾後的內容;未過濾則保存所有內容,保存路徑請參考GT目錄說明。清空只是清空界面上的日誌,不會對自動保存功能產生影響。單擊搜索鍵進入日誌搜索二級界面。

         日誌列表具備實時刷新能力。當日志列表被拖動到最下方的最新一條日誌時,若是再有新的日誌產生,列表就會自動向上滾動。

        

7.3 GT自定義日誌搜索界面

         日誌搜索界面是日誌系統的二級界面。搜索頁的搜索範圍是日誌一級頁面過濾後的全部內容。

        

         輸入關鍵字進行搜索後,頁面上會高亮顯示符合搜索條件的日誌條目。

        

         打印日誌功能有區分VERBOSE,DEBUG,INFO,WARNING和ERROR五個級別,用戶根據實際狀況調用對應級別的接口。

         記錄日誌功能接口對應有CLEAN,START和END三個操做。CLEAN 操做則會刪除對應的文件。先START再END。END後會記錄從START到END間全部調用打印日誌的信息到文件中。

8 使用GT SDK插樁調測AUT

         在測試中除了關注性能指標,常常也有更進一步的,關注AUT實時運行狀態的須要或改變一些參數以調測應用在不一樣邏輯分支下的運行狀態。這種狀況能夠經過在AUT中嵌入GT SDK(以jar包的形式存在),經過GT SDK將關注的應用運行期信息輸出到GT提供的UI進行展現或經過GT SDK提供的輸入參數方式對 AUT的參數進行修改。

         示例GT Demo 的功能就是從網上下載10張圖片並顯示,經過GT能夠實時查看下載的帶寬、 單張速度、CPU、MEM 等指標,還能經過GT修改下載線程數、超時時間等等。該Demo主要是爲了演示GT是如何脫機調試一個APP的。GT Demo工程中使用GT SDK的地方能夠經過搜索 GT Usage 查找。

8.1 合入GT

         使用GT在被測應用中插樁功能須要在被測工程中合入GT SDK,合入GT SDK分三步,首先要在手機中安裝GT.apk,而後將SDK jar包添加到工程中;最後是在合適的位置插入GT初始化的代碼 (demo 工程、SDK jar 包、GT.apk 請到GT官網下載) 。

1)      添加 SDK jar 包

         拷貝 SDK jar 包到工程中的 libs 目錄中,以下圖:

        

         此時,demo 工程就包括了 GT 的 API:

        

2)      GT 初始化

         在合適的位置插入GT初始化的代碼:

         GTSDK的初始化須要在被測工程中調用GT.connect(Context, AbsGTParaLoader)方法創建被測應用與GT 的聯繫。調用GT.connect方法的合適位置一般是被測應用Application的onCreate()或閃屏Activity的 onCreate(),不過在demo中爲了方便演示,是經過點擊一個按鈕觸發調用該方法。

         具體調用代碼在demo中的位置在類MainActivity中(可搜索GT.connect關鍵字找到代碼具體位置),大致結構以下:

        

         完成測試後,須要在被測工程中調用 GT.disconnect(Context)方法斷開被測應用與 GT 的聯繫。調用 GT.disconnect 方法的合適位置一般是被測應用退出的方法中。在本demo中,是經過點擊一個按鈕觸發調用該方法。具體調用代碼在demo中的位置在類 MainActivity中:

        

8.2 輸入參數

1)      相關API

        

         下面以Demo爲例說明。使用輸入參數有兩個步驟:

l   GT SDK初始化後註冊所需的輸入參數。註冊輸入參數的API是 InParaManager.register 方法。

l   須要使用輸入參數的代碼邏輯上獲取輸入參數。 獲取輸入參數的API是一組重載方法,都叫GT.getInPara,能夠返回全部基本類型和字符串的輸入參數值。

2)      註冊輸入參數

         GT.connect方法中進行輸入參數的註冊:

        

         (可選)註冊的同時能夠選擇最多 3 個 APP 啓動時默認在 GT 懸浮窗顯示的輸入型參數:

        

3)      使用輸入參數

         在Demo工程中下載網絡圖片時使用併發線程數,併發線程數取GT上註冊的值:(詳情請在Eclipse中搜索「併發線程數」變量的使用場景):

        

4)      建議

         一個小技巧,GT.getInPara方法的第二個參數默認值,大部分狀況下建議使用業務邏輯中的原值,這樣當輸入參數設置失效時,默認值取原值就不會改變原有代碼業務邏輯。如上面例子便是如此。

8.3 輸出參數

1)      相關API

下面以Demo爲例說明。使用輸出參數有兩個步驟:

l   在GT初始化後註冊所需的輸出參數。註冊輸出型參數的API是OutParaManager. register方法。

l   在須要的地方更改輸出參數值。更改輸出參數的API是GT.setOutPara方法。

2)      註冊輸出參數

         Android版GT在GT.connect方法中進行輸出參數的註冊:

        

         (可選)註冊的同時能夠選擇最多3個APP啓動時默認在GT懸浮窗顯示的輸出型參數:

        

3)      使用輸出參數

         在Demo工程中確認是否下載完成判斷代碼邏輯裏統計下載耗時,實際帶寬:

        

8.4 profiler功能

1)      相關API

         下面以 Demo 爲例說明。使用profiler 進行耗時分析有兩個步驟:

l   在須要開始計時的代碼邏輯設置開始計時。對應區分線程的是GT. startTimeInThread,不區分線程的是GT. startTime ,可跨進程的是GT.startTimeGlobal。

l   在須要結束計時的代碼邏輯設置結束計時。對應區分線程的是GT. endTimeInThread,不區分線程的是GT. endTime,可跨進程的是GT.endTimeGlobal。這裏開始和結束調用的接口須要對應,若開始計時使用跨進程的API,則結束計時也使用跨進程的API;若開始計時使用區分線程的API,則結束計時也須要使用區分線程的API。

2)      打開profiler功能

         目前使用profiler前須要先手動開啓profiler功能(詳見相關章節)。若是實際使用中須要在被測應用啓動後當即打開profiler 功能,而手動開啓來不及,那麼能夠先行手動打開GT應用,以後手動打開profiler 功能,而後再啓動被測應用便可。

3)      使用profiler功能——線程內統計

         這裏要統計單張圖片的下載時間,在網絡訪問時記錄開始時間,網絡數據接收完成時記錄結束時間,開始到結束之間即爲單張圖片的下載時間。另外Demo 裏下載圖片使用線程池有併發的可能,所以調用GT. startTimeInThread和GT. endTimeInThread,用於區分線程。

         線程開始是記錄的開始時刻,下圖中紅色框中代碼;網絡訪問數據接收結束是記錄的結束時刻,下圖中紫色框中代碼:

        

         注: GT.startTimeInThread和GT. endTimeInThread要和上面例子同樣成對使用,道理很簡單,時間要有個開始時刻和結束時刻才能計算。每次統計值都會在profiler界面顯示。 GT. endTimeInThread的long型返回值是一次統計的時間間隔,單位是納秒,即便在不啓動profiler功能的狀況,本返回值也是有效的,只是不會在 GT 控制檯的profiler模塊記錄。該返回值在異常狀況下會是-1。

4)      使用profiler功能——應用內跨線程統計

         Demo中圖片下載完成後到UI展現的時間統計,其統計開始時刻是下載並解析圖片生成 bitmap完成後,但其結束時刻應是Android的UI線程中,這種跨線程的應該用全局統計,而且要區別不一樣的圖片:

         統計起點是下載線程的開始時刻:

        

         其結束時刻在UI線程的Handler中:

        

8.5 打印日誌

         相關API

        

         以Demo爲例說明。打印日誌功能相似logcat,有區分DEBUG,INFO,WARNING和ERROR四個級別, 用戶根據實際狀況調用對應級別的接口。 具體例子在demo 中隨處可見,搜索「GT.Log」便可。

9 廣播方式使用GT

         廣播方式使用GT,主要用於支持自動化中使用GT作性能數據採集。

1)      命令樣例:

l   先啓動GT:adb shell amstart -W -n com.tencent.wstt.gt/com.tencent.wstt.gt.activity.GTMainActivity

l   使gt能夠採集該應用的性能信息;pkgName是包名;verName是版本號(可選參數):adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.startTest --es pkgName"com.tencent.map"  --es verName"6.0.1"

l   若是隻測FPS和SM,能夠這樣空參數:adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.startTest

l   開啓CPU採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei cpu 1

l   中止CPU採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei cpu 0

l   開啓CPU時間片採集:adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei jif 1

l   中止CPU時間片採集:adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei jif 0

l   開啓PSS採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pss 1

l   中止PSS採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pss 0

l   開啓PrivateDirty採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pri 1

l   中止PrivateDirty採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei pri 0

l   開啓NET採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei net 1

l   中止NET採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei net 0

l   開啓FPS採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei fps 1

l   中止FPS採集:adb shellam broadcast -a com.tencent.wstt.gt.baseCommand.sampleData --ei fps 0

2)      流暢度(SM)的獲取自成體系,注意如下步驟,其中前4步驟建議測試前人工處理好:

l   對應UI上的「更改」,一次執行除非執行逆操做「恢復」,會一直有效:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.modify

l   對應UI上的「恢復」,測試完畢時執行一次,如手機長期用於流暢度測試能夠一直不用恢復:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.resume

l   對應UI上的「重啓」,重啓手機使「更改」或「恢復」生效:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.restart

l   對應UI上的「開始測試」,procName是指定被測進程的進程名,執行後在出參列表應能夠看到SM參數,注意第一次執行須要給GT受權:adb shell am broadcast -a com.tencent.wstt.gt.plugin.sm.startTest--es procName "com.tencent.wstt.gt"

l   對應UI上的「中止測試」:adbshell am broadcast -a com.tencent.wstt.gt.plugin.sm.endTest

3)      結束採集並保存,同時刪除數據記錄:

         saveFolderName爲保存目錄的名稱,最長能夠自定義三級目錄,以"/"分割,此三級目錄會保存在/sdcard/GT/GW/下,每次保存後,GT會把緩存的本次測試數據清空。

         adbshell am broadcast -a com.tencent.wstt.gt.baseCommand.endTest --essaveFolderName "普通導航測試"  --es desc "騰訊地圖_6.0.1_普通導航_1"

         關閉GT:adb shell ambroadcast -a com.tencent.wstt.gt.baseCommand.exitGT

         注意:

l   FPS第一次會申請Root權限,默認狀況須要手動點一下,因此建議用TowerRoot或CM自帶的能夠取消彈框的Root工具取消彈框

l   流暢度第一次開始測試須要Root權限,默認狀況須要手動點一下。

4)      廣播驅動耗電測試(對應耗電測試插件)

         adbshell am broadcast -a com.tencent.wstt.gt.plugin.battery.startTest --eirefreshRate 250 --ei brightness 100 --ez I true --ez U true --ez T true --ez Ptrue

         這條廣播也能夠不帶參數,將以默認的250ms刷新率,100的屏幕亮度,只關注電流值啓動測試:adb shell am broadcast -acom.tencent.wstt.gt.plugin.battery.startTest

         中止耗電指標的採集:adbshell am broadcast -a com.tencent.wstt.gt.plugin.battery.endTest

5)      廣播驅動GT模擬GPS(對應月光寶盒插件)

         注意:啓動回放GPS軌跡以前要先在開發者選項裏選擇容許模擬位置;並在位置設置裏打開只經過硬件設備定位。

l   啓動回放指定序號的GPS路徑文件,progress是可選參數,指定從某個進度開始回放,取值[0-100]:adb shell am broadcast -a com.tencent.wstt.gt.plugin.gps.startReplay--ei seq 0 --ei progress 0

l   或者啓動回放指定名稱的GPS路徑文件,命令行對中文支持很差,因此路徑文件儘可能用英文命名,progress是可選參數,指定從某個進度開始回放,取值[0-100]:adb shell am broadcast -a com.tencent.wstt.gt.plugin.gps.startReplay--es filename xxxx.gps --ei progress 0

l   或者還能夠直接回放單點座標:adb shell am broadcast -a com.tencent.wstt.gt.plugin.gps.startReplay--es lng 116.15353149 --es lat 39.72413462

l   完整參數(經度lng,維度lat,精度acc,方位bear,速度spd,海拔alt):adb shell ambroadcast -a com.tencent.wstt.gt.plugin.gps.startReplay --es lng 116.15353149--es lat 39.72413462 --es acc 150.0 --es bear 77.3 --es spd 13.5 --es alt 60.70

l   中止模擬位置的回放:adbshell am broadcast -a com.tencent.wstt.gt.plugin.gps.endReplay

l   開始採集位置信息,filename參數可不填,但文件名須要以.gps做爲後綴:adbshell am broadcast -a com.tencent.wstt.gt.plugin.gps.startRecord --es filenamexxxx.gps

l   中止採集位置信息:adbshell am broadcast -a com.tencent.wstt.gt.plugin.gps.endRecord

6)      廣播驅動內存填充(對應內存填充插件)

l   內存填充:adb shellam broadcast -a com.tencent.wstt.gt.plugin.memfill.fill --ei size 200

l   內存釋放:adbshell am broadcast -a com.tencent.wstt.gt.plugin.memfill.free

7)      廣播驅動抓包(對應抓包插件)

         抓包到指定路徑的文件,參數param能夠缺省:adbshell am broadcast -a com.tencent.wstt.gt.plugin.tcpdump.startTest --esfilepath "/sdcard/GT/Tcpdump/Capture/aaa.pcap" --es param "-p -s0 -vv -w"

         結束抓包:adbshell am broadcast -a com.tencent.wstt.gt.plugin.tcpdump.endTest

10 簡單使用示例

1)      請像安裝普通APP同樣的安裝GT到手機(GT.apk)(請到GT官網下載最新版)

2)      從手機上啓動已安裝的GT ,進入以下界面

3)      選擇一個已安裝到手機的APP作爲被測應用(AUT)

        

4)      選擇被測APP關注的性能信息

        

5)      啓動被測應用後,回到 GT 界面

        

6)      選擇本次要測試的性能指標(包括整機性能信息)

        

7)      選擇須要時刻關注的性能指標

        

8)      選擇須要採集歷史記錄的指標

        

9)      進入被測應用界面,啓動數據採集,開始測試

        

10)   測試完畢時,中止數據採集

        

11)   查看性能指標歷史數據

        

12)   批量保存性能數據

        

13)   批量刪除性能數據

        

14)   連上PC查看已保存的性能數據

        

        

相關文章
相關標籤/搜索