1、Monkey命令格式說明
adb shell monkey [參數] <次數>
例子:adb shell monkey –p cn.com.pconline.android.browser -v 1000 > d:\log_20170424.txt
說明:一個完整的monkey的命令是由adb shell monkey 加上對應的參數組成,上述例子指的是對 太平洋電腦網 這個app進行1000個隨機事件測試,並輸出對應等級的日誌至本地txt文件中。2、Monkey 的選項大致分爲四大類:基本配置選項、事件類型選項、運行約束選項、調試選項
2、Monkey選項說明
類別 |
選項 |
說明 |
常規 |
-help |
列表基本配置選項 |
|
-v |
-v level 0(缺省值)除啓動、測試完成和最終的結果之外,提供較少的信息。 -v –v Level 1 提供較爲詳細的測試信息,如逐個發送到的Activity的事件 -v –v –v level 3 提供極爲詳細的測試信息,如測試中被選中的或者未被選中的Activity |
事件 |
-s <seed> |
僞隨機數生成器seed值,如果使用相同的seed值,會產生相同的事件序列 |
|
--throttle <milliseconds> |
在事件之間插入延遲,通過這個選項可以減緩Monkey的執行速 |
|
--randomize-throttle |
在事件之間插入隨機延遲,通過這個選項可以減緩Monkey的執行速 |
|
--pct-touch <percent> |
調整觸摸事件的百分比(一個觸摸事件是由一個down事件和一個up事件組合完成) |
|
--pct-rotation |
調整旋轉事件的百分比 |
|
--pct-pinchzoom |
調整縮放事件的百分比 |
|
--pct-motion <percent> |
調整動作事件百分比,動作事件是有屏幕上某處的一個down事件,一系列的僞隨機事件和一個up事件組成。 |
|
--pct-trackball <percent> |
調整軌跡球事件的百分比,軌跡事件是由一個或幾個隨機的移動組成,有時還伴隨着點擊事件 |
|
--pct-nav <percent> |
調整基本導航事件的百分比,導航事件由安卓手機本身的up、down、left、right事件組成 |
|
--pct-majornav <precent> |
調整主要航事件百分比,如鍵盤的中間鍵,回退按鍵、菜單按鍵 |
|
--pct-syskeys <precent> |
調整按鍵事件的百分比,這些按鍵通常被保留,由 系統使用,如Home、Back、Start Call、End Call及音量控制鍵 |
|
--pct-appswitch <precent> |
調整Activity啓動的百分比。(在隨機的時間間隔中,Monkey將執行一個startActivity()調用,作爲最大程度覆蓋被測包中全部Activity的一種方法) |
|
--pct-anyevent <precent> |
調整其他事件的百分比。(這包含所有其他事件,如按鍵、其他在設備上不常用的按鈕等) |
約束條件 |
-p <allowed-package-name> |
如果你指定一個或多個包,Monkey將只允許訪問這些包中的Activity。如果你的應用程序需要訪問這些包(如選擇聯繫人)以外的Activity,你需要指定這些包。如果你不指定任何包,Monkey將允許系統啓動所有包的Activity。指定多個包,使用多個-p,一個-p後面接一個包名。 |
|
--pkg-blacklist-file <存放包名的txt文件路徑> |
設置黑名單,即不執行的apk應用 |
|
--pkg-whitelist-file <存放包名的txt文件路徑> |
設置白名單,即只執行的apk應用,作用和-p一樣,注意,黑白名單隻能設置其中一種,即不能同時既設置黑名單,又設置白名單 |
|
-c <main-category> |
如果你指定一個或多個類別,Monkey將只允許系統啓動這些指定類別中列出的Activity。如果你不指定任何類別,Monkey將選擇謝列類別中列出的Activity,Intent.CATEGORY_LAUNCHER和Intent.CATEGORY_MONKEY。指定多個類別使用多個-c,每個-c指定一個類別。 |
|
--port |
爲monkey開啓專用端口。此時只monkey不會幫你亂點擊,而此時你自己就是一隻monkey了,在你亂點的時候,monkey會輸出你點擊後回饋的信息。如果你打完命令之後模擬器上沒有啓動你所要啓動的包,你需要自己啓動,但是你只能啓動你-p中指定的那幾個包。ctrl+c中斷 |
|
--step [-f scriptfile] |
指定運行scriptfile的一些monkey事件,可以實現部分簡單有序的功能 |
調試 |
--dbg-no-events |
設置此選項,Monkey將執行初始啓動,進入一個測試Activity,並不會在進一步生成事件。爲了得到最佳結果,結合參數-v,一個或多個包的約束,以及一個保持Monkey運行30秒或更長時間的非零值,從而提供了一個可以監視應用程序所調用的包之間轉換的環境。 |
|
--hprof |
設置此選項,將在Monkey事件序列之前和之後立即生成profiling報告。 這將會在data/misc中生成大文件(~5Mb) |
|
--ignore-crashes |
通常,當應用程序崩潰或發生任何失控異常時,Monkey將停止運行。如果設置此選項,Monkey將 繼續向系統發送事件,直到計數完成。 |
|
--ignore-timeouts |
通常,當應用程序發生任何超時錯誤(如“Application Not Responding”對 話框)時,Monkey將停止運行。如果設置此選項,Monkey將繼 續向系統發送事件,直到計數完成 |
|
--ignore-security-exceptions |
通常,當應用程序發生許可錯誤(如啓動一個需要某些許可的Activity)時,Monkey將 停止運行。如果設置了此選項,Monkey將繼續向系統發送事件,直到計數完成。 |
|
--kill-process-after-error |
通常,當Monkey由於一個錯誤而停止時,出錯的應用程序將繼續處於運行狀態。當設置了此選項時,將會通知系 統停止發生錯誤的進程。注意,正常的(成功的)結束,並沒有停止啓動的進程,設備只是在結束事件之 後,簡單地保持在最後的狀態。 |
|
--monitor-native-crashes |
監視並報告Android系統中本地代碼的崩潰事件。如果設置了--kill-process-after-error, 系統將停止運行。 |
|
--wait-dbg |
停止執行中的Monkey,直到有調試器和它相連接 |