Monkey事件類型參數(shù)有哪些?
Monkey 的事件類型總共有 11 種,分別是觸摸(Touch)、手勢(motion)、二指縮放(pinchzoom)、軌跡(trackball)、旋轉(zhuǎn)(rotation)、基本導(dǎo)航(nav)、主要導(dǎo)航事件(majornav)、系統(tǒng)按鍵(syskeys)、啟動 activity(appswitch)、鍵盤事件(flip)和其它類型事件(anyevent),在日志中分別用 0-10 來表示;
如:
C:\Users\XXX>adb shell monkey –p cn.mopon.film --throttle 1000 -v –v –v 100
:Monkey: seed=160364725750 count=100
:IncludeCategory: android.intent.category.LAUNCHER
:IncludeCategory: android.intent.category.MONKEY
// Event percentages:
// 0: 15.0%
// 1: 10.0%
// 2: 2.0%
// 3: 15.0%
// 4: -0.0%
// 5: -0.0%
// 6: 25.0%
// 7: 15.0%
// 8: 2.0%
// 9: 2.0%
// 10: 1.0%
// 11: 13.0%
事件說明:
- 觸摸事件:指在屏幕某處按下并抬起的操作。
- 手勢事件:指在屏幕某處的按下、隨機移動、抬起的操作(劃動)。
- 縮放事件:指在屏幕上某處放大縮小事件,如地圖的測試,這類事件較多。
- 軌跡事件:模擬的軌跡球的操作,早期手機較多,現(xiàn)在的手機幾乎都沒有軌跡球,但軌跡球事件中包含曲線滑動操作,如果被測程序需要曲線滑動時可以選用此參數(shù)。
- 屏幕旋轉(zhuǎn)事件:屏幕旋轉(zhuǎn)事件是一個隱藏事件,它是模擬屏幕的橫屏和豎屏轉(zhuǎn)換。
- 基本導(dǎo)航事件:指點擊方向輸入設(shè)備的上、下、左、右按鍵的操作,現(xiàn)在手機多數(shù)沒有上下左右的操作,這類事件很少。
- 主要導(dǎo)航事件:指點擊“主要導(dǎo)航”按鍵的操作,這些按鍵通常會導(dǎo)致 UI界面中的動作,如鍵盤回退,菜單,中間鍵等。
- 系統(tǒng)按鍵事件:指點擊系統(tǒng)保留使用的按鍵的操作,如點擊 Home 鍵、返回鍵、音量調(diào)節(jié)鍵等啟動 Activity 事件:指在手機上啟動一個 Activity 的操作,即打開某個應(yīng)用的某個 activity 界面。
- 鍵盤事件:鍵盤事件主要是一些與鍵盤相關(guān)的操作,如點擊輸入框、鍵盤彈起、鍵盤收回等。
- 其它類型事件:除以上事件以外的其它事件,比如按鍵、其他不常用的設(shè)備上的按鈕等。
好了,事件介紹完了,下面需要介紹在 monkey 測試中如何指定事件的比例,比如地圖類的可以指定縮放事件較多一些,連連看游戲指定劃動類較多一些,這樣有利于測試的有效性,事件比例的設(shè)置是通過(--pct-事件名)的格式來指定事件的百分比,相關(guān)案例如下:
指定觸摸事件的百分比
adb shell monkey -p cn.mopon.film --pct-touch 20 1000
注:--pct-{+事件類別}{+事件類別百分比}用于指定每種類別事件的百分比(在 Monkey事件序列中,該類事件數(shù)目占總事件數(shù)目的百分比),--pct-touch {+百分比}用于調(diào)整觸摸事件的百分比(觸摸事件是一個 down-up 事件,它發(fā)生在屏幕上的某單一位置)。
指定動作事件的百分比
adb shell monkey -p cn.mopon.film --pct-motion 30 1000
注:指定動作事件的百分比(動作事件由屏幕上某處的一個 down 事件、一系列的偽隨機事件和一個 up 事件組成)。
指定多個事件的百分比
adb shell monkey -p cn.mopon.film --pct-touch 20--pct-pinchzoom30--pct-motion 15 --pct-appswitch 301000
說明:指定多個事件百分比時,各百分比之和不能超過 100% 如果不指定事件的百分比,monkey 會隨機按事件百分比來跑 app。