天天看點

monkey基礎 (2) - 操作事件簡介

操作事件簡介

Monkey所執行的随機事件流中包含11大事件,分别是觸摸事件、手勢事件、二指縮放事件、軌迹事件、螢幕旋轉事件、基本導航事件、主要導航事件、系統按鍵事件、啟動Activity事件、鍵盤事件、其他類型事件。Monkey通過這11大事件來模拟使用者的正常操作,對手機App進行穩定性測試。下面讓我們來詳細了解這11大事件。

觸摸事件

觸摸事件是指在螢幕某處按下并擡起的操作,可通過

--pct-touch

參數來配置其事件百分比。

從Monkey執行該事件對外輸出的日志可以看到:

該事件由一組

Touch(ACTION_DOWN)

Touch(ACTION_UP)

事件組成,在手機上看到實際操作類似于點選。

手勢事件

手勢事件是指在螢幕某處的按下、随機移動、擡起的操作,即直線滑動操作。可通過

--pct-motion

該事件是由

一個ACTION_DOWN事件

一系列ACTION_MOVE事件

一個ACTION_UP事件

組成的,在手機上看到的實際操作是一個沒有拐彎的直線滑動操作。

二指縮放事件

二指縮放事件是指在螢幕上的兩處同時按下,并同時移動,最後同時擡起的操作,即智能機上的放大縮小手勢操作。可通過

--pct-pinchzoom

該事件起始是

一個ACTION_DOWN事件

一個ACTION_POINTER_DOWN事件

,即模拟兩個手指同時點下;中間是

一系列的ACTION_MOVE事件

,即兩個手指同時在螢幕上直線滑動;結束是由

一個ACTION_POINTER_UP事件

一個ACTION_UP事件

組成的,即兩個手指同時放開。

軌迹事件

軌迹事件是由一個或多個随機的移動組成的,有時會伴随着點選。很早之前的Android手機帶有軌迹球,這個事件就是模拟的軌迹球的操作。現在的手機幾乎都沒有軌迹球,但軌迹球事件中包含曲線滑動操作,如果被測程式需要曲線滑動時可以選用此參數。可通過

--pct-trackball

一系列的Trackball(ACTION_MOVE)事件

組成的,觀察手機上的操作,即為一系列的曲線滑動操作。

螢幕旋轉事件

螢幕旋轉事件是一個隐藏事件,在Android官方文檔中并沒有記錄這個事件。它其實是模拟的Android手機的橫屏和豎屏切換。可通過

--pct-rotation

該事件由

一個rotation事件

組成,其中

degree

表示的是旋轉方向,順時針旋轉,0表示旋轉90度的方向,1表示旋轉180度的方向,2表示旋轉270度的方向,3表示旋轉360度的方向。在執行過程中,可以看到手機螢幕在橫豎屏之間不斷地切換。

基本導航事件

基本導航事件是指點選方向輸入裝置的上、下、左、右按鍵的操作,現在手機上很少有上、下、左、右按鍵,這種事件一般用得比較少。可通過

--pct-nav

一個Key(ACTION_DOWN)

一個Key(ACTION_UP)

組成的,點選的就是上、下、左、右四個方向按鍵。

主要導航事件

主要導航事件是指點選“主要導航”按鍵的操作,這些按鍵通常會導緻UI界面中的動作,如鍵盤的中間鍵、回退按鍵、菜單按鍵。可通過

--pct-majornav

[代碼] 該事件是由

一個Key(ACTION_DOWN)

一個Key(ACTION_UP)

組成的,點選的按鍵就是中間鍵和菜單鍵。

系統按鍵事件

系統按鍵事件是指點選系統保留使用的按鍵的操作,如點選Home鍵、傳回鍵、音量調節鍵等。可通過

--pct-syskeys

一個Key(ACTION_DOWN)

一個Key(ACTION_UP)

組成的,點選的就是上面說到的幾個系統按鍵。

啟動Activity事件

啟動Activity事件是指在手機上啟動一個Activity的操作。在随機的時間間隔中,Monkey将執行一個startActivity()方法,作為最大限度上覆寫被測包中全部Activity的一種方法。可通過

--pct-appswitch

該事件是由一個Switch操作組成的,從手機上看,上面的操作實際是打開了

com.android.settings

這個應用的一個

com.android.settings.Settings

的Activity界面。

鍵盤事件

鍵盤事件主要是一些與鍵盤相關的操作。比如點選輸入框、鍵盤彈起、點選輸入框以外區域、鍵盤收回等。可通過

--pct-flip

如日志所示,這裡主要是鍵盤的打開和關閉操作。

其他類型事件