Monkey相關指令

weixin_33912445發表於2017-08-25

1、啟動指定的應用程式,並向其傳送100個偽隨機事件

* 示例:adb shell monkey -p package_name -v 100

2、日誌級別 Level 1

* 示例:adb shell monkey -p package_name -v-v 100

說明:提供較為詳細的日誌,包括每個傳送到Activity的事件資訊

3、日誌級別 Level 2

* 示例:adb shell monkey -p package_name -v-v-v 100

說明:最詳細的日誌,包括了測試中選中/未選中的Activity資訊

4、用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。

* 示例:Monkey測試1:adb shell monkey -p package_namer –s 10 100

* 示例:Monkey 測試2:adb shell monkey -p package_name –s 10 100

操作序列雖  然是隨機生成的,但是隻要我們指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的,所以這個操作序列偽隨機的;

5、引數:--throttle <毫秒>

用於指定使用者操作(即事件)間的時延,單位是毫秒;

* 示例:adb shell monkey -p package_name –throttle 3000 100

6、 引數:--ignore-crashes

用於指定當應用程式崩潰時(Force& Close錯誤),Monkey是否停止執行。如果使用此引數,即使應用程式崩潰,Monkey依然會傳送事件,直到事件計數完成。

* 示例1:adb shellmonkey -p package_name --ignore-crashes 1000

測試過程中即使Weather程式崩潰,Monkey依然會繼續傳送事件直到事件數目達到1000為止;

* 示例2:adb shellmonkey -p package_name 1000

測試過程中,如果Weather程式崩潰,Monkey將會停止執行。

7、引數:--ignore-timeouts

用於指定當應用程式發生ANR(Application No Responding)錯誤時,Monkey是否停止執行。如果使用此引數,即使應用程式發生ANR錯誤,

Monkey依然會傳送事件,直到事件計數完成。

* 示例:adb shellmonkey -p package_name --ignore-timeouts 1000

8、 引數:--ignore-security-exceptions

用於指定當應用程式發生許可錯誤時(如證書許可,網路許可等),Monkey是否停止執行。如果使用此引數,即使應用程式發生許可錯誤,

Monkey依然會傳送事件,直到事件計數完成。

* 示例:adb shellmonkey -p package_name --ignore-security-exceptions 1000

9、引數:--kill-process-after-error

用於指定當應用程式發生錯誤時,是否停止其執行。如果指定此引數,當應用程式發生錯誤時,應用程式停止執行並保持在當前狀態(注意:

應用程式僅是靜止在發生錯誤時的狀態,系統並不會結束該應用程式的程式)。

* 示例:adb shellmonkey -p package_name --kill-process-after-error 1000

10、 引數:--monitor-native-crashes

用於指定是否監視並報告應用程式發生崩潰的原生程式碼。

* 示例:adb shellmonkey -p package_name --monitor-native-crashes 1000