一、Monkey是什么
Monkey是Android自帶的一個自動化測試工具,我們可以通過命令行向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),對應用程序進行壓力和穩定性測試。
二、Monkey基本參數&調試參數
如果要使用monkey,可以采用以下兩種方式啟動Monkey(首先得確定電腦已經連接設備):
1.直接運行該命令
adb shell monkey [options] <count>
2.進入設備命令行,再執行monkey命令
adb shell
monkey [options] <count>
那么monkey具體的參數怎么使用呢,先讓我們來認識它們:

事件參數:--randomize -throttle 代表在事件之間插入隨機延遲,必須和--throttle參數一起用
事件參數:除了上述表格中的八種外,另還有三個隱藏事件參數,總共11種事件可用
約定限制參數:注意如果有些app不想在桌面顯示圖標,在AndroidManifest.xml會把啟動Activity的name注釋掉
//<category android:name="android.intent.category.LAUNCHER" />
這樣用-p命令是無法啟動Monkey的,解決方法是把這一行修改為
<category android:name="android.intent.category.MONKEY" />
調試參數:如果需要在monkey測試過程中監控crash和anr,則可以使用 --ignore crashes 和 --ignore timeouts,運行完成后統計具體的次數和分析原因。
例子:
monkey -p 包名 --randomize -throttle --throttle 500 --ignore-crashes --monitor-native-crashes --ignore-timeouts --ignore-native-crashes --pct-touch 20 --pct-trackball 20 --pct-motion 20 --pct-flip 20 --pct-appswitch 15 --pct-anyevent 5 -v -v 50
三、Monkey黑白名單使用
Monkey還可以加一些特定的參數,指定只運行哪些包或指定不運行哪些包,這就是所謂的白名單和黑名單
①白名單:指定只運行哪些包
在本地編輯好whitelist.txt文件,文件里寫入要運行的包名,格式如下:
com.android.browser
com.android.deskclock
...
...
在本地編輯好blacklist.txt文件,文件里寫入要運行的包名,格式如下:
com.android.browser
com.android.deskclock
...
...
