一.命令基本格式:adb shell monkey [-option] count
命令行輸入adb shell monkey可查看所有參數:
二. 常用的參數解釋:
1.-p 包名:指定應用程序。例如:adb shell monkey -p 包名 事件總數
2.-v:打印log級別,-v越多日志信息越詳細,最多支持3個。例如:adb shell monkey -p 包名 -v -v -v 事件總數
3.-s:偽隨機數生成器的 seed 值,排錯時用,不加會自動生成一個。
4.-f:后接測試腳本名,例如:adb shell monkey -f 腳本名 事件總數
5.--throttle:指定用戶操作時的時延,單位毫秒
6.--pct-事件類別 :按順序羅列:
-
--pct-touch {+百分比}:0
翻譯觸摸,觸摸事件泛指發生在某一位置的一個down-up事件,點擊
--pct-motion {+百分比}:1
翻譯動作,動作事件泛指從某一位置接下(即down事件)后經過一系列偽隨機事件后彈出(即up事件)
--pct-pinchzoom {+百分比}:2
翻譯二指縮放,智能機上的放大縮小手勢操作事件
--pct-trackball {+百分比}: 3
翻譯軌跡,軌跡事件包括一系列的隨機移動,以及偶爾跟隨在移動后面的點擊事件
--pct-rotation {+百分比}:4
翻譯屏幕旋轉,橫屏豎屏事件
--pct-nav {+百分比}:5
翻譯基本導航,基本導航事件主要來自方向輸入設備的上、下、左、右事件
--pct-majornav {+百分比}:6
翻譯主要導航,主要導航事件通常指引發圖形界面的一些動作,如鍵盤中間按鍵、返回按鍵、菜單按鍵等
--pct-syskeys {+百分比}:7
翻譯系統按鍵,系統按鍵事件通常指僅供系統使用的保留按鍵,如HOME鍵、BACK鍵、撥號鍵、掛斷鍵、音量鍵等
--pct-appswitch {+百分比}:8
翻譯應用啟動,應用啟動事件(activity launches)即打開應用,通過調用startActivity()方法最大限度地開啟該package下的所有應用
--pct-flip {+百分比}:9
翻譯翻轉,鍵盤輕彈百分比,如點擊輸入框,鍵盤彈起,點擊輸入框以外區域,鍵盤收回
--pct-anyevent {+百分比}:10
翻譯其他類型,其他類型事件指上文中未涉及的所有其他事件,如keypress、不常用的button等
百分比控制以及使用:adb shell monkey -v -p 包名 --pct-touch 100 100 --pct-touch事件百分比為100
7.--ignore-crashes:忽略崩潰,當應用程序崩潰或發生失控異常時,monkey將繼續運行直到計數完成。如果不設置此項,monkey遇到上述崩潰或異常將停止運行。
8.--ignore-timeouts:忽略超時,當應用程序發生任何超時錯誤(如ANR,即Application Not Responding)時,monkey將繼續運行直到計數完成。如果不設置此項,monkey 遇到此類超時將停止運行。
9.–ignore-security-exceptions: 指應用程序發生許可錯誤,monkey依然發送事件,直到事件數完成
三.命令使用
adb shell monkey -p com.hupu.games -v -v -v --throttle 300 -s 4 --ignore-crashes --ignore-timeouts --ignore-security-exceptions 100 > e:\monkeyLog.txt
將日志輸入到文件monkeyLog.txt中
四.分析日志
輸出的monkey日志是APP應用級別日志。主要查找"ANR ","Exception"類錯誤,系統層日志在運行monkey測試前開啟記錄到文件:adb logcat -v time >e:/logcat.txt,monkey測試完后終止寫入。
詳細參考https://testerhome.com/topics/12212
五.終止monkey測試:新建窗口,輸入adb shell確定,再執行 ps | grep monkey 得到進程號,然后kill pid 進程號。