App性能測試工具MobilePerformance


一、 環境搭建

安裝Android SDK

1.6或者1.7版本均可,建議1.7,環境變量的配置,Java SDK的安裝很簡單,不贅述了。

安裝SDK

1、安裝Android SDK;

2、安裝完畢后啟動Android SDK Manger (SDK Manager.exe,在Android SDK的安裝目錄下),安裝需要的Android Packages,比如一些工具,需要的Android版本等等。需要注意的是google官網的下載經常失敗,這時就需要配置代理了

Server:mirrors.neusoft.edu.cn,port:80

3、 添加環境變量Android_HOME,值是Android SDK的安裝路徑;並把Android SDK下的platform-tools路徑和tools路徑添加到環境變量:Path (%ANDROID_HOME%\platform-tools; %ANDROID_HOME%\tools;)

(還是不會配置安裝sdk環境的可以訪問下面的鏈接:安卓開發環境搭建流程

安裝Python,版本2.7+

1、下載並安裝Python2.7

2、將Python2.7的安裝路徑(也就是python.exe所在的目錄)添加到環境變量Path。

二、功能實現

測試項

1、monkey測試:輸入測試的時長,進行測試。通過模擬用戶的輸入以用來檢測會不會出現異常以及ANR和Crash等情況的發生。

2、啟動時間測試:根據輸入的次數進行測試,啟動時間測試的是APP關閉后(APP不在后台運行)的啟動時間,測試結束后將返回本次測試啟動時間的最大值、最小值、平均值以及執行的次數。

3、以上兩個功能只能采用自動測試的方式。

資源監控

1、cpu、內存監控:對操作過程中APP的內存和CPU進行監控並制成圖表。

2、流量監控:對操作中APP的流量進行監控,並制成圖表。其中流量包括接受的流量和發送的流量。

3、監控部分可以選擇手動操作和自動操作。手動操作就是自己點點點,自動操作當進行monkey測試和啟動時間測試時進行監控,具體操作過程請查看具體操作部分。

制定圖表

根據監控數據生成二維折線圖表。

生成報告

根據測試結果、數據、圖表生成html格式的報告。

三、具體操作

手動操作


 1、首先將手機用數據線和電腦相連

2、在將需要測試的apk放進工具主文件夾下的apk文件中,該apk要與手機上安裝的app程序是一致的,如圖:

3、手機連上電腦后請雙擊MobilePerformance文件夾下的run.bat即可啟動程序。如圖:

4、程序運行后如下圖所示:

 

5、點擊程序的設備檢測按鈕,無論手機是否連接成功都會有響應提示,如圖,請在手機連接成功時進行測試。

 

手機連接成功提示:

 

手機連接不成功提示:

 

6、需要進行手動操作時,測試項部分不能選擇,只能選擇資源監控部分的多選框,當然可以選擇一項或者多項,但是不能不選擇。如下圖所示:

 

7、選擇需要監控的資源后,就可以點擊開始按鈕了,如圖:

 

8、然后對手機進行操作

9、操作結束后點擊程序的結束按鈕,會有響應提示,請耐心等待,報告生成,如圖:

10、如果想繼續測試請重復以上步驟,若想退出程序,請點擊退出按鈕,如圖:

自動測試


 1、首先將手機用數據線和電腦相連

2、在將需要測試的apk放進工具主文件夾下的apk文件中,該apk要與手機上安裝的app程序是一致的,如圖:

 

3、手機連上電腦后請雙擊MobilePerformance文件夾下的run.bat即可啟動程序。如圖:

4、程序運行后如下圖所示:

 

5、點擊程序的設備檢測按鈕,無論手機是否連接成功都會有響應提示,如圖,請在手機連接成功時進行測試。

6、需要進行自動操作時,測試項部分必須要選擇一項並填寫相應的值,然后選擇資源監控部分的多選框部分,選擇相應的監控功能如下圖所示:

7、選擇需要監控的資源后,就可以點擊開始按鈕了,自動測試不需要我們自己去操作手機,也不需要點擊結束按鈕,資源監控監控的就是自動操作手機這段時間的數據,自動操作結束后稍等一會就回生成報告,如圖:

8、如果想繼續測試請重復以上步驟,若想退成程序,請點擊退出按鈕,如圖:

四、報告說明

生成的報告在MobilePerformance文件下的log文件夾中,每一個task文件夾是一次測試的數據,如圖:

日志文件夾中包括以下文件,如圖:

memory.log:是操作手機階段CPU和內存的日志,如圖:

network.log:是操作手機階段接受流量和發送流量的日志,如圖:

monkey.log如下:

Test_cpuInfo.jpg和Test_cpuInfo.png:是生成的cpu折線圖,只是格式不一樣。

Test_memoryInfo.jpg和Test_memoryInfo.png:是生成的內存折線圖,只是格式不一樣。

Test_networkTraffic.jpg和Test_networkTraffic.png:是生成的流量折線圖,只是格式不一樣。

result_XXXX.html:是生成的HTML報告,XXX為日期。

五、常見問題解決方案

手機已經連接了電腦,但是檢查設備還是檢測不到。

答:先打開cmd,輸入adb devices命令,查看結果:

如果是如下顯示,則證明是手機未能成功連接電腦,如圖:

這種情況有可能是usb調試沒有打開,若已經打開還是不行則可以下載豌豆俠或360手機助手等工具進行連接,工具顯示連接成功后則執行adb devices命令查看,出現如下圖紅框的內容則證明連接成功,可進行程序的使用:

如果第一次使用程序沒問題,第二次就顯示連接程序不成功或者等一會就顯示不成功。

答:先打開cmd,輸入adb devices命令,查看結果,如果提示error: unknown host service這個錯誤則一般是5037端口被占用問題

1、打開命令行,輸入命令:netstat -ano | findstr "5037",如下圖:

從以上命令的執行結果的第二列的冒號之后的就是端口號,最后一列就是進程的pid。根據該pid去任務管理器中查找對應的進程。

2、打開任務管理器,在菜單中查看->選擇列中將PID勾選上,然后點擊PID列的表頭,讓其遞增排序便於根據pid找到進程名稱。

從上圖可以看出,進程pid為8556的進程名稱是adb.exe,這個是正常的。如果是其它名稱,如tadb.exe,那么就說明騰訊的QQ占用該端口了。如果是其它的應用程序占用了5037端口,你就需要將其手動結束掉,然后在運行adb命令,應該就可以連上了。

3、如果以上手動不能殺死進程,則我們需要更改我們的端口號,只要在系統環境變量中定義ANDROID_ADB_SERVER_PORT的值即可。最好選擇一個5位數的端口號(10000~65535),不易重復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM