APP性能測試工具使用說明
APP性能測試工具使用說明
一 環境搭建
安裝Android SDK
1.6或者1.7版本均可,建議1.7,環境變數的配置,Java SDK的安裝很簡單,不贅述了。
安裝Python,版本2.7+
1、下載並安裝Python2.7
2、將Python2.7的安裝路徑(也就是python.exe所在的目錄)添加到環境變數Path。
另外還需要下載工具,工具大家關注公眾號,在公眾號上回復app性能工具,即可獲取到下載地址。
二 功能實現
測試項
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:是操作手機階段接受流量和發送流量的日誌,如圖:
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),不易重複
最後說一下目前這個工具的局限性,目前此工具只能在Windows上執行,並且電量暫時不可用,將在下一個版本中進行更新,敬請期待吧
TAG:測試那點事兒 |