標籤:android monkey 手機app測試 自動化測試 小強測試品牌 測試幫日記
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,然後交給開發去解決
玩轉Android monkey之多參數實戰