Monkey是什么
Monkey是可以運行在模擬器里或實際設備中的程序。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。
Monkey簡介
Monkey是一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流,實現對正在開發的應用程序進行壓力測試。Monkey包括許多選項,它們大致分為四大類:
· 基本配置選項,如設置嘗試的事件數量。
· 運行約束選項,如設置只對單獨的一個包進行測試。
· 事件類型和頻率。
· 調試選項。
在Monkey運行的時候,它生成事件,并把它們發給系統。同時,Monkey還對測試中的系統進行監測,對下列三種情況進行特殊處理:
· 如果限定了Monkey運行在一個或幾個特定的包上,那么它會監測試圖轉到其它包的操作,并對其進行阻止。
· 如果應用程序崩潰或接收到任何失控異常,Monkey將停止并報錯。
· 如果應用程序產生了應用程序不響應(application not responding)的錯誤,Monkey將會停止并報錯。
按照選定的不同級別的反饋信息,在Monkey中還可以看到其執行過程報告和生成的事件。
Monkey的基本用法
可以通過開發機器上的命令行或腳本來啟動Monkey。由于Monkey運行在模擬器/設備環境中,所以必須用其環境中的shell來進行啟動??梢酝ㄟ^在每條命令前加上adb shell來達到目的,也可以進入Shell后直接輸入Monkey命令?;菊Z法如下:
$ adb shell monkey [options]
如果不指定options,Monkey將以無反饋模式啟動,并把事件任意發送到安裝在目標環境中的全部包。下面是一個更為典型的命令行示例,它啟動指定的應用程序,并向其發送500個偽隨機事件:
$ adb shell monkey -p your.package.name -v 500
命令選項參考
|
使用Monkey流程
總的來說使用monkey進行測試是比較簡單的,只是需要做一些比較復雜的準備工作。下面詳解測試步驟(很簡單的哦),所講內容是建立在已經配置好ADB環境的基礎上(如果這部分不清楚請先google一下先配置好環境,這里不做描述)。
1、ADB連接Android測試設備。
2、確定你要測試的應用的PackageName。
3、使用Monkey發一條測試命令。
步驟詳解
步驟確實很簡單吧。不敢保證讀者都明白如何去完成上面的步驟,這里講講每步如何做。
1、ADB連接Android測試設備。
如果你用的是模擬器,那么啟動后通常是已經連在ADB上了。對于真機來說兩種方式都可以:
方式一:使用USB把Android設備接到PC上,然后裝上驅動(不好找驅動的話就用豌豆莢吧)。
方式二:首先得確保你的Android已經成功root了,那么可以使用wifi無線連接。①下載一個wifi adb應用裝在你的android設備上;②在android上打開wifi adb;③在pc上的命令行中輸入wifi adb中顯示的那部分內容:adb connect 192.168.x.x,命令行中顯示connected 192.168.x.x那么說明連接好了。
我比較喜歡方式二,這樣可以不用去下載驅動(主要是驅動很多都不穩定),而且不傷害電池。長時間插在USB上對電池始終是不好的。只不過這種方式設備一旦休眠那么就可能需要重連。
2、確定你要測試的應用的PackageName。
先說明一下這里講的方法是通用的,而網上其他方法獲取PackageName不然不通用(因為他是建立在root的基礎上的,我不敢保證你的設備已經root)。
①在android設備上點擊一下你要測試的設備,然后就不用操作設備了。
②在PC上的命令行輸入:adb logcat>D:/log.txt *:I
在這里的D:/log.txt你可以改成其他的路徑,但是一定要先確保路徑下沒有這個文件,不然的話你以前的文件就被改掉了,一定要小心。
③按下Ctrl+c先停掉(為了避免過多的新信息)。打開剛剛的那個文件D:/log.txt。從文件最下面開始找下面格式的信息
I/ActivityManager( 數字): Displayed 包名/類名: +數字ms
例如我的信息如下:
I/ActivityManager( 272): Displayed com.vane/.act.ActLauncher: +315ms
不過你可能會發現有很多這種格式的信息,到底哪個才是你需要的呢,如果你嚴格按照剛剛的步驟做的話,那么很可能是最下面那條信息,即使不是那么也肯定是最下面幾條信息中的某一條,這需要你根據應用進行辨別。
④記下你剛剛得到的包名,例子中的包名為“com.vane”。馬上就會用。
3、使用Monkey發一條測試命令。
這一步就比較簡單了。直接在pc上的命令行輸入:adb shell monkey -p com.vane -v 50
備注:上面命令中的com.vane就是之前獲得的包名;命令中的參數你可以自己根據需要參考上面的參數文檔進行修改。
4、觀察android設備,直到Monkey停止。
5、如果應用崩潰的話就好分析一下Monkey中的信息。
總結
Monkey的使用確實比較簡單,但是在測試中確有不小的作用,值得使用。