一、 環境搭建
安裝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),不易重復