monkey是Android平台一款自動化工具,可以模擬用戶操作的各種事件。
查看monkey所有相關的命令。
adb shell monkey –help

指定被測試的包
adb shell monkey -p package count
package 為App包名,count為要執行的事件數。
如:

monkey啟動被測試的包 com.sogou.activity.src, 並隨機觸發10個隨機事件。
設置-v,輸出level 0級別的日志
adb shell monkey -p package -v count
如:

包含啟動提示,測試完成和最終結果等少量信息。
設置-v -v, 輸出level 1級別的日志
adb shell monkey -p package -v -v count
如:

包含詳細的日志,包括每個發送到Activity的事件信息。
設置-v -v -v, 輸出level 2級別的日志
adb shell monkey -p package -v -v -v count
包含最詳細的日志,包括了測試中選中/未選中的Activity信息
使用參數-s 指定seed值
用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。
adb shell monkey -p package -s seed count
如:
adb shell monkey -p com.sogou.activity.src -s 100 10
兩次seed相同時,隨機事件的序列相同。
使用參數–throttle <毫秒>設定事件之間時延
adb shell monkey -p package –throttle time count
如:
adb shell monkey -p com.sogou.activity.src –throttle 1000 10
使用參數–ignore-crashes,指定崩潰時繼續執行
設置參數后,當App崩潰時,monkey依然會繼續執行,直到事件計數完成,未設置時,App崩潰時,monkey會停止。
adb shell monkey -p package –ignore-crashes 10
使用參數–ignore-timeouts,指定ANR時繼續執行
當應用程序發生ANR(Application No Responding)時,monkey會停止運行。設置此參數后,當App出現ANR時,monkey依然繼續執行,直到事件計數完成。
adb shell monkey -p package –ignore-timeouts 10
使用參數–ignore-security-exceptions,忽略安全類異常
當App發生許可錯誤時(如證書許可,網絡許可等),monkey會停止運行。設置此參數后,當相關錯誤出現時,monkey依然繼續執行,直到事件計數完成。
adb shell monkey -p package –ignore-security-exceptions 10
使用參數–kill-process-after-error,當出現錯誤時停止運行
當App發生錯誤時,停止運行並保持在當前狀態。
注意:App僅是靜止在發生錯誤時,系統不會結束App的進程。
adb shell monkey -p package –kill-process-after-error 10
使用參數–monitor-native-crashes, 指定監視並報告App發生崩潰的native代碼。
adb shell monkey -p package –monitor-native-crashes 10
使用事件類別參數,指定事件的百分比。
設置觸摸事件的百分比,–pct-touch percent
adb shell monkey -p package
–pct-touch percent count
如:adb shell monkey -p com.sogou.activity.src –pct-touch
10 1000
指定1000個事件中,百分之十為觸摸事件。
設置動作事件的百分比,–pct-motion percent
adb shell monkey -p package
–pct-motion percent count
如:adb shell monkey -p com.sogou.activity.src –pct-motion
20 1000
指定1000個事件 中,百分之二十為動作事件。
設置軌跡事件的百分比, –pct-trackball percent
adb shell monkey -p package
–pct-trackball percent count
如:adb shell monkey -p com.sogou.activity.src –pct-trackball
30 1000
指定1000個事件 中,百分之三十為軌跡事件。
設置導航事件的百分比,–pct-nav percent
設備的導航事件,由設備的up/down/left/right組成。
adb shell monkey -p package
–pct-nav percent count
如:adb shell monkey -p com.sogou.activity.src –pct-nav
40 1000
指定1000個事件 中,百分之四十為導航事件。
設置主要導航事件的百分比,–pct-majornav percent
設備的主要導航事件,如 5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵。
adb shell monkey -p package
–pct-majornav percent count
如: adb shell monkey -p com.sogou.activity.src –pct-majornav
50 1000
指定1000個事件 中,百分之五十為主要導航事件。
設置系統按鍵事件的百分比,–pct-syskeys percent
系統按鍵事件,如Home、Back、Start Call、End Call及音量控制鍵。
adb shell monkey -p package
–pct-syskeys percent count
設置啟動Activity的百分比,–pct-appswitch percent
adb shell monkey -p package –pct-appswitch percent count
設置其他類型事件的百分比,–pct-anyevent percent
調整其它類型事件的百分比,一般是不常用的設備按鈕。
adb shell monkey -p package
–pct-anyevent percent count
注意:各事件類型的百分和不能超過100%。