Android 自動化測試及性能數(shù)據(jù)采集的 Python 腳本_第1頁
Android 自動化測試及性能數(shù)據(jù)采集的 Python 腳本_第2頁
Android 自動化測試及性能數(shù)據(jù)采集的 Python 腳本_第3頁
Android 自動化測試及性能數(shù)據(jù)采集的 Python 腳本_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第第頁Android自動化測試及性能數(shù)據(jù)采集的Python腳本uiautomator2封裝的一個Python庫android-catcher,該庫的功能主要有對Android設(shè)備進行UI(自動化)(測試)和采集手機(性能)數(shù)據(jù),適用于如列表滑動、錄制(視頻)等各種測試場景下CPU、內(nèi)存、幀率等信息的捕獲,方便后續(xù)分析。Github地址:/CharmingW/android-catcher

Python3寫的,要運行腳本需要先安裝Python3環(huán)境

(下載)地址:Python3.6.5

Usage

uiautomator2的使用方式

安裝完uiautomator2之后,一般只需要執(zhí)行以下命令對設(shè)備進行初始化,在設(shè)備上安裝uiautomator2服務(wù)

python-muiautomator2init出現(xiàn)以下提示則表示安裝成功

更多的uiautomator2的使用方式可參考:/openatx/uiautomator2

腳本文件說明

這個腳本庫根目錄下主要的文件有

info.py:手機性能信息采集的腳本,其中定義了父類Info,已實現(xiàn)的子類有CPUInfo(CPU信息)、MemInfo(內(nèi)存信息)、FPSInfo(幀率信息)、NetInfo(網(wǎng)絡(luò)流量信息),使用者可以從Info派生子類來實現(xiàn)自己的采集(需求)task.py:測試場景的腳本,其中定義了父類Task,因為沒有固定的測試場景,因此使用者需要從Task派生子類并重寫Task#execute方法來自定義的測試場景,自定義方式可參考:/openatx/uiautomator2info_task.py:測試場景和采集信息靈活結(jié)合的腳本,使用者不需要用到utils.py:工具方法腳本_main_.py:任務(wù)運行的入口腳本,當(dāng)沒有具體的測試場景,只是想采集指定時間段的信息,直接運行該腳本參數(shù)說明

-s:必選參數(shù),指定設(shè)備號,可通過adbdevices獲取-a:必選參數(shù),要測試進程的applicationId-f:可選參數(shù),采樣間隔,單位為秒,不建議設(shè)置太短,最好是大于0.1s,默認是1s-d:可選參數(shù),采樣持續(xù)時間,默認為10s-i:可選參數(shù),需要采集的信息,可以設(shè)置多個,目前可選的有四個,分別為cpu、mem、fps、net,用,隔開,如-icpu,mem,fps,net-o:可選參數(shù),采集到的信息的輸出目錄,如.表示當(dāng)前腳本所在的目錄,默認為.生成文件說明

采集到的信息根據(jù)信息類型分別存放在指定輸出目錄的cpu_stats、mem_stats、fps_stats、net_stats四個子目錄下,文件名為信息類型_設(shè)備號_applicationId_版本號_測試場景名_時間戳,如cpu_d3c2edaa_video.like_RecordVideo_1.9.9_1524122928.csv.csv,實際效果大致如下圖

輸出文件為csv文件,直接打開和用Excel打開的效果分別如下圖

另外可以為測試的每個階段添加一個節(jié)點說明

task.period=idle生成類似如下的圖

無自定義測試場景的使用方式

適用于沒有具體測試場景,在腳本運行之后一段時間內(nèi)都處于采集狀態(tài)的情況,持續(xù)時間可以通過配置參數(shù)指定,過程中使用者可以隨意操作手機。通過命令行直接運行_main_.py腳本文件,并指定相關(guān)參數(shù)比方說我要采集applicationId為video.like這個應(yīng)用10s內(nèi)的cpu信息和內(nèi)存信息,采樣間隔為200ms,輸出目錄為當(dāng)前目錄,那么可以在腳本所在的目錄執(zhí)行以下命令

python_main_.py-s設(shè)備號-avideo.like-f0.2-d10-imem,cpu-o.腳本運行結(jié)束之后可以在根目錄下看到如下圖所示的文件生成

注:要帶-d參數(shù),指定采集的持續(xù)時間,否則腳本默認運行10s,并且無需-t參數(shù),默認測試場景名為Random

自定義測試場景的使用方式

自定義測試場景不能直接調(diào)用_main_.py腳本,需要創(chuàng)建新的腳本,繼承task.py#Task并重寫Task#execute方法,在Task#execute中實現(xiàn)自定義測試場景的邏輯,如下圖所示:

這里創(chuàng)建了名為start_app.py的腳本,運行命令:

pythonstart_app.py-s設(shè)備號-a進程名-f0.1-icpu,mem-o.就可以啟動對應(yīng)的APP,并采集CPU信息和內(nèi)存信息,采樣間隔為100ms,輸出到當(dāng)前目錄。注意這里沒有了-d參數(shù),因為采集的持續(xù)時間以測試任務(wù)的持續(xù)時間的持續(xù)時間為準,設(shè)置的參數(shù)一定要按照說明來,否則不能采集到數(shù)據(jù)如果想采集自定義的信息,可以繼承info.py#Info并重寫Info#get_start_info和Info#get_end_info方法,可參考已實現(xiàn)的四種信息采集的寫法,最后通過Task#add_info方法添加。

自定義好測試場景之后,調(diào)用_main_#main方法,傳入測試場景實例,測試場景的名稱會作為輸出文件命名的一部分,這里最好取能準確表達測試場景的名稱,如某個APP錄制視頻測試場景的名稱為RecordVideo采集到的信息可通過Excel制成圖表,以下是完整錄制視頻這個測試場景的CPU占比和內(nèi)存的變化

通過圖表可以直觀分析應(yīng)用不同版本和不同場景下的性能狀況

寫在最后

以上就是該庫的一些使用介紹。由于工作經(jīng)驗尚淺,Python也是現(xiàn)學(xué)現(xiàn)用,在寫這個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論