使用monkey進行Android APP壓力穩定測試入門
1. monkey介紹
Monkey:Android SDK自帶的一個命令行工具,使用adb來運行它,向系統發送僞隨機的用戶事件流,如按鍵、觸屏、輸入等;實現對正在開發的應用程序進行壓力測試,伴隨着日誌輸出。模擬用戶觸摸屏幕、滑動trackball、按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常;
2. 什麼時候使用monkey?
一般在產品穩定,無特別多bug時,可以用來測試應用的穩定性、健壯性(是否會發生閃退、崩潰),手機出廠前的整機測試。
3. monkey命令格式
adb shell monkey -help
----monkey幫助手冊
-
- v 用於指定反饋信息級別(信息級別就是日誌的詳細程度),總共分爲三個級別
- v ;(優先級最低)
-v-v;
-v-v-v;
v的個數越多日誌級別越高,日誌內容越詳細
如:使用命令將日誌輸出到G盤下的Nox–>monkey–>monkey2.txt文件
adb shell monkey -v 300 >G:\Nox\monkey\monkey2.txt
monkey2.txt內容(部分)
-
-p 後面加對應的包名,如果是徵集測試,則不需要加包名。此外也可以測試多個應用程序,在後面加上多個-p即可,如
adb shell monkey -v -v -v -p (com.………包名1) -p(包名2) 500
獲得當前正在運行的應用程序的包名
adb shell dumpsys activity | find "mFocusedActivity"
獲得包名後就可以對我們想要測試的應用程序進行指定測試,而前面的是整機測試,對模擬器上的應用程序隨意測試
再用命令對指定的應用程序進行測試
adb shell monkey -v -v -v -p (com.………包名) 500
-
-s 用於指定僞隨機生成器的seed值,若seed相同,則兩次monkey測試所產生的時間序列也相同,用於問題復現。(也就是說,重複執行剛纔的隨機操作)一般用在問題復現處
命令行包含-s時對app進行測試,會對APP進行音量加減的操作,如下圖
-
- -throttle (毫秒1000=1s)後面接時間,單位爲ms,表示事件之間的固定延遲(即執行每一個指令間隔的時間),如果不接該項,monkey將不會延遲
adb shell monkey --throttle 1000
(注意是兩個橫槓-) -
- -ignore-crashes 設置此項後,當應用程序崩潰或發生失控異常時,monkey將繼續運行直到計數完成。如果不設置此項,monkey遇到上述崩潰或異常將停止運行。
adb shell monkey --ignore-crashes 500
(注意是兩個橫槓-) -
- -ignore-timeouts 設置此項後,當應用程序發生任何超時錯誤(如ANR,即Application Not Responding)時,monkey將繼續運行直到計數完成。若不設置此項,monkey
adb shell monkey --ignore-timeouts <event-count/500>
(注意是兩個橫槓-)
更多關於monkey的命令可以看一下這篇博客或是自行在網上學習
https://www.cnblogs.com/chengchengla1990/p/5641086.html