monkey設定間隔時間
參數throttle用來控制執行速度,如果不加我們通過上次的執行發現速度比較快,也看不清。
文法:adb shell monkey -p 包名 --throttle 設定每次随機事件的時間間隔
(毫秒)随機事件次數
moneky seed種子
seed種子是幹嘛的呢?很好了解,如果你想使得兩次指令的執行軌迹一樣,那就加上這個參數。比如,第一次你使用發現了一個bug,現在想重制一下,如果不加seed就是随機的,可能無法重制,加上seed就可以了。
PS:每次執行時初始界面要一緻
文法:adb shell monkey -p 包名 --throttle 執行速度 -s seed種子 随機事件數
monkey指定某個動作
如果想使用monkey指令來做某一個動作,而不是N個動作混雜的,那就要通過參數來指定ta的動作,比如--pct-touch點選(觸摸)動作。
文法:adb shell monkey -v -p 包名 --pct-touch 執行touch動作的百分比 随機事件次數
其中-v代表檢視詳細的結果,我們可以看到0代表touch百分比為100%執行,其餘為0%。
思考:如果不加--pct-touch執行該指令會是什麼樣的結果呢?
這裡大家可能會問到1-10代表啥呢?其實代表的是不同的操作動作,這裡來list一下:
1:手勢 --pct-motion
2:縮放 --pct-pinchzoom
3:軌迹球 --pct-trackball
4:螢幕旋轉 --pct-rotation
5:基本導航事件,比如手機上的上、下、左、右的操作 --pct-nav
6:主導航事件,比如傳回鍵、菜單鍵 --pct-majornav
7:系統導航事件,比如手機上的home鍵、撥号鍵、音量鍵等 --pct-syskeys
8:切換activity --pct-appswitch
9: 鍵盤翻轉事件,舉個場景就知道了,類似點選輸入框,鍵盤彈起,點選其他區域,鍵盤收起 --pct-flip
10:其他事件 --pct-anyevent
monkey忽略崩潰和逾時
為什麼要有着兩個參數呢?很簡單,我們在使用app的時候經常會出現逾時、卡死的狀況,一旦出現這樣的情況,monkey是不知道怎麼辦的!是以,需要我們給他指令才行, 一般就是給兩個參數,忽略逾時和忽略崩潰。
l 忽略逾時參數:--ignore-timeouts
l 忽略崩潰(異常)參數:--ignore-crashes
文法:adb shell monkey -v -p 包名 --pct-touch 100 --ignore-timeouts --ignore-crashes 随機事件次數
PS:在實際操作過程中除了上述兩種情況外,可能還會出現ANR的問題,如果出現那就要找到對應的log,然後交給開發去解決
本文轉自 小強測試幫 51CTO部落格,原文連結:http://blog.51cto.com/xqtesting/2050469,如需轉載請自行聯系原作者