玩轉Android monkey之多參數實戰

monkey設置間隔時間shell


參數throttle用來控制執行速度,若是不加咱們經過上次的執行發現速度比較快,也看不清。app

語法:adb shell monkey -p 包名 --throttle 設置每次隨機事件的時間間隔ide

(毫秒)隨機事件次數spa

moneky seed種子orm


seed種子是幹嗎的呢?很好理解,若是你想使得兩次命令的執行軌跡同樣,那就加上這個參數。好比,第一次你使用發現了一個bug,如今想重現一下,若是不加seed就是隨機的,可能沒法重現,加上seed就能夠了。blog

PS:每次執行時初始界面要一致事件

語法:adb shell monkey -p 包名 --throttle 執行速度 -s seed種子 隨機事件數ip

monkey指定某個動做開發


若是想使用monkey命令來作某一個動做,而不是N個動做混雜的,那就要經過參數來指定ta的動做,好比--pct-touch點擊(觸摸)動做。it

語法: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,而後交給開發去解決

相關文章
相關標籤/搜索