【測試】android Monkey,測試androidmonkey
下面介紹一種Monkey測試方法:單一模組Monkey測試
以下這條Monkey指令為例:
[plain] view plaincopy
- monkey -s 12 --throttle 450 -p com.android.cameraswitch --kill-process-after-error --ignore-timeouts --ignore-security-exceptions -v 10000
這條monkey指令是測試:在camera模組中產生1萬次偽隨機操作(包括觸摸、按鍵、手勢等)。
下面簡單介紹下涉及到的各參數:
-s <seed>
偽隨機數產生器的 seed 值。如果用相同的 seed 值再次運行 Monkey ,它將產生相同的事件序列。
--throttle <milliseconds>
在事件之間插入固定延遲。通過這個選項可以減緩 Monkey 的執行速度。如果不指定該選項, Monkey 將不會被延遲,事件將儘可能快地被產成。
-p <allowed-package-name>
如果用此參數指定了一個或幾個包,Monkey將只允許系統啟動這些包裡的Activity。 如果你的應用程式還需要訪問其它包裡的Activity(如選擇取一個連絡人),那些包也需要在此 同時指定。如果不指定任何包,Monkey將允許系統啟動全部包裡的Activity。要指定多個 包,需要使用多個 -p選項,每個-p選項只能用於一個包。
--kill-process-after-error
通常,當Monkey由於一個錯誤而停止時,出錯的應用程式將繼續處於運行狀態。當設定了此選項時,將會通知系 統停止發生錯誤的進程。注意,正常的(成功的)結束,並沒有停止啟動的進程,裝置只是在結束事件之 後,簡單地保持在最後的狀態。
--ignore-timeouts
通常,當應用程式發生任何逾時錯誤(如“Application Not Responding”對 話框)時,Monkey將停止運行。如果設定此選項,Monkey將繼 續向系統發送事件,直到計數完成。
--ignore-security-exceptions
通常,當應用程式發生許可錯誤(如啟動一個需要某些許可的Activity)時,Monkey將 停止運行。如果設定了此選項,Monkey將繼續向系統發送事件,直到計數完成。
-v
命令列的每一個 -v 將增加反饋資訊的層級。 Level 0( 預設值 ) 除啟動提示、測試完成和最終結果之外,提供較少資訊。 Level 1 提供較為詳細的測試資訊,如逐個發送到 ActivITy 的事件。 Level 2 提供更加詳細的設定資訊,如測試中被選中的或未被選中的 Activity 。
[plain] view plaincopy
- adb shell monkey -s 12 --throttle 800 -p net.kindroid.fm --ignore-timeouts --ignore-security-exceptions -v 100000
[plain] view plaincopy
- 步驟:
-
- 1、不忽略異常
- adb shell monkey -p com.thunderst.radio --throttle 500 -s 600 -v -v -v 800000 >C:\long_radio_report.txt
- 指令的含義:測試的應用程式為FM,事件間的延時為500毫秒,種子seed的值為600,三個v表示輸出的MonkeyLog的層級為最高,即輸出最詳盡的Monkey Log,測試的事件次數為800000次 ,Log儲存在C盤的ong_radio_report.txt裡
-
- 2、忽略異常
- adb shell monkey -p com.thunderst.radio --throttle 500 -s 600 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 800000 >C:\long_radio_report.txt