大類—— 經常使用選項、事件選項、約束選項、調試選項shell
一、經常使用選項網絡
-v:指定打印信息的詳細級別,一個-v增長一個級別 ,默認級別爲 0 。用於指定反饋信息級別(信息級別就是日誌的詳細程度),總共分3個級別。併發
日誌級別 Level 0,缺省值,僅提供啓動提示、測試完成和最終結果等少許信息app
日誌級別 Level 1,提供較爲詳細的日誌,包括每一個發送到Activity的事件信息測試
日誌級別 Level 2,最詳細的日誌,包括了測試中選中/未選中的Activity信息spa
2.約束選項調試
-p:指定有效的package(如不指定,則對系統中全部package有效),一個-p 對應一個有效package, 如:-p com.ckt -p com.ckt.asura;日誌
參數-p用於約束限制,用此參數指定一個或多個包(Package,即App)。指定包以後,Monkey將只容許系統啓動指定的APP。若是不指定包,Monkey將容許系統啓動設備中的全部APP。blog
舉例:指定一個包: adb shell monkey -p com.htc.Weather 100,說明:com.htc.Weather爲包名,100是事件計數(即讓Monkey程序模擬100次隨機用戶事件)。進程
指定多個包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100
不指定包:adb shell monkey 100,說明:Monkey隨機啓動APP併發送100個隨機事件。
要查看設備中全部的包,在CMD窗口中執行如下命令:
>adb shell
#cd data/data
#ls
$ adb shell monkey -c <main-category> <event-count>
-c:後面接一個或多個類別名,monkey將只容許系統啓動這些類別中某個類別列出的Activity,若是不指定任何類別,monkey將選擇Intent.CATEGORY_LAUNCHER和Intent.CATEGORY_monkey裏的Activity
每一個-c對應一個類別,指定多個類別時每一個類別名前面都須要加上-c
如:$ adb shell monkey -c Intent.CATEGORY_LAUNCHER 1000
運行Inter.CATEGORY_LAUNCHER類別的Activity併發送1000個隨機事件
3.事件選項
-s:用於指定僞隨機數生成器的seed值,若是seed相同,則兩次Monkey測試所產生的事件序列也相同的。
Monkey測試1:adb shell monkey -p com.htc.Weather –s 10 100
Monkey測試2:adb shell monkey -p com.htc.Weather –s 10 100
兩次測試的效果是相同的,由於模擬的用戶操做序列(每次操做按照必定的前後順序所組成的一系列操做,即一個序列)是同樣的。操做序列雖然是隨機生成的,可是隻要咱們指定了相同的Seed值,就能夠保證兩次測試產生的隨機操做序列是徹底相同的,因此這個操做序列僞隨機的.
--throttle:每一個事件結束後的間隔時間——下降系統的壓力(如不指定,系統會盡快的發送事件序列),單位是毫秒。
舉例:adb shell monkey -p com.htc.Weather --throttle 3000 100
--pct-touch:指定觸摸事件的百分比,如:--pct-touch 5% , 相關的還有如下option:
--pct-motion <percent> (滑動事件)、 --pct-trackball <percent> (軌跡球事件) 、 --pct-nav<percent> (導航事件 up/down/left/right)、 --pct-majornav<percent> (主要導航事件 back key 、 menu key)、 --pct-syskeys<percent> (系統按鍵事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、 --pct-appswitch<percent> (activity之間的切換)、 --pct-anyevent<percent>(任意事件)
-f:後接測試腳本名,表示要使用monkey運行指定的monkey腳本,$ adb shell monkey -f <scriptfile> <event-count>
如:$ adb shell monkey -f /mnt/sdcard/test01 3
注:這裏的3是指循環次數,不是事件數
若是但願重複執行以前的隨機操做,須要加-s命令,可指定隨機數生成器seed值.
4.調試選項
--ignore-crashes:用於指定當應用程序崩潰時(Force & Close錯誤),Monkey是否中止運行。若是使用此參數,即便應用程序崩潰,Monkey依然會發送事件,直到事件計數完成。
--ignore-timeouts:用於指定當應用程序發生ANR(Application No Responding)錯誤時,Monkey是否中止運行。若是使用此參數,即便應用程序發生ANR錯誤,Monkey依然會發送事件,直到事件計數完成。
--ignore-security-exceptions:用於指定當應用程序發生許可錯誤時(如證書許可,網絡許可等),Monkey是否中止運行。若是使用此參數,即便應用程序發生許可錯誤,Monkey依然會發送事件,直到事件計數完成。
--kill-process-after-error:若是指定此參數,當應用程序發生錯誤時,應用程序中止運行並保持在當前狀態(注意:應用程序僅是靜止在發生錯誤時的狀態,系統並不會結束該應用程序的進程)。
--monitor-native-crashes:用於指定是否監視並報告應用程序發生崩潰的本地代碼。
--dbg-no-events:初始化啓動的activity,可是不產生任何事件。
--hprof:指定該項後在事件序列發送先後會當即生成分析報告 —— 通常建議指定該項。
--wait-dbg:知道鏈接了調試器才執行monkey測試。