操作事件簡介
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
如日志所示,這裡主要是鍵盤的打開和關閉操作。