Monkey是Android中的一個命令行工具,能夠運行在模擬器裏或實際設備中。它向系統發送僞隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試.shell
$ adb shell monkey [options]
若是不指定options,Monkey將以無反饋模式啓動,並把事件任意發送到安裝在目標環境中的所有應用程序網絡
$ adb shell monkey -p package -v 500
指定對package這個應用程序進行monkey測試,並向其發送500個僞隨機事件。其中 -p 表示對象包包,–v 表示反饋信息級別app
可使用命令 adb shell monkey -help 查看命令參數工具
用於約束限制,用此參數指定一個或多個應用。指定應用以後,monkey將只容許系統啓動指定的app;若是不指定應用,將容許系統啓動設備中的全部應用測試
用於約束限制,用此參數指定了一個或幾個類別,Monkey將只容許系統啓動被這些類別中的某個類別列出的Activity。若是不指定任何類別,Monkey將選擇下列類別中列出的Activity:Intent.CATEGORY.LAUNCHER 或 Intent.CATEGORY.MONKEY。要指定多個類別,須要使用多個-c選項,每一個-c選項只能用於一個類別。命令行
用於指定反饋信息級別(信息級別就是日誌的詳細程度),總共分3個級別:日誌
僞隨機數生成器的seed值。若是用相同的seed值再次運行Monkey,它將生成相同的事件序列code
兩次測試的效果是相同的,由於模擬的用戶操做序列(每次操做按照必定的前後順序所組成的一系列操做,即一個序列)是同樣的。對象
用於指定用戶操做(即事件)間的延時,單位是毫秒進程
adb shell monkey -p com.ifeng.news2 --throttle 5000 100
用於指定當應用程序崩潰時(Force& Close錯誤),Monkey是否中止運行。若是使用此參數,即便應用程序崩潰,Monkey依然會發送事件,直到事件計數完成。
用於指定當應用程序發生ANR(Application No Responding)錯誤時,Monkey是否中止運行。若是使用此參數,即便應用程序發生ANR錯誤,Monkey依然會發送事件,直到事件計數完成。
adb shellmonkey -p com.ifeng.news2--ignore-timeouts 1000
用於指定當應用程序發生許可錯誤時(如證書許可,網絡許可等),Monkey是否中止運行。若是使用此參數,即便應用程序發生許可錯誤,Monkey依然會發送事件,直到事件計數完成。
adb shellmonkey -p com.ifeng.news2 --ignore-security-exception 1000
用於指定當應用程序發生錯誤時,是否中止其運行。若是指定此參數,當應用程序發生錯誤時,應用程序中止運行並保持在當前狀態(注意:應用程序僅是靜止在發生錯誤時的狀態,系統並不會結束該應用程序的進程)
adb shellmonkey -p cn.emoney.acg --kill-process-after-error 1000
用於指定是否監視並報告應用程序發生崩潰的本地代碼。
adb shellmonkey -p cn.emoney.acg --monitor-native-crashes 1000
用於指定每種類別事件的數目百分比(在Monkey事件序列中,該類事件數目佔總事件數目的百分比)
--pct-touch{+百分比}:調整觸摸事件的百分比(觸摸事件是一個down-up事件,它發生在屏幕上的某單一位置)
adb shell monkey -p com.ifeng.news2 --pct-touch 10 1000
--pct-motion {+百分比}:調整動做事件的百分比(動做事件由屏幕上某處的一個down事件、一系列的僞隨件機事和一個up事件組成)
adb shell monkey -p com.ifeng.news2 -- pct-motion 20 1000
--pct-trackball {+百分比}:調整軌跡事件的百分比(軌跡事件由一個或幾個隨機的移動組成,有時還伴隨有點擊)
adb shell monkey -p com.ifeng.news2 --pct-trackball 30 1000
--pct-nav {+百分比}:調整「基本」導航事件的百分比(導航事件由來自方向輸入設備的up/down/left/right組成)
adb shell monkey -p com.ifeng.news2 --pct-nav 40 1000
--pct-majornav {+百分比}:調整「主要」導航事件的百分比(這些導航事件一般引起圖形界面中的動做,如:5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵)
adb shell monkey -p com.ifeng.news2 --pct-majornav 50 1000
C:\Documents and Settings\Administrator>adb shell monkey -p 包名 -v 300 >D:\log.txt