操作事件簡(jiǎn)介
Monkey所執(zhí)行的隨機(jī)事件流中包含11大事件,分別是觸摸事件、手勢(shì)事件、二指縮放事件、軌跡事件、屏幕旋轉(zhuǎn)事件、基本導(dǎo)航事件、主要導(dǎo)航事件、系統(tǒng)按鍵事件、啟動(dòng)Activity事件、鍵盤(pán)事件、其他類(lèi)型事件。Monkey通過(guò)這11大事件來(lái)模擬用戶(hù)的常規(guī)操作,對(duì)手機(jī)App進(jìn)行穩(wěn)定性測(cè)試。下面讓我們來(lái)詳細(xì)了解這11大事件。
1、觸摸事件
觸摸事件是指在屏幕某處按下并抬起的操作,可通過(guò) --pct-touch參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到。 該事件由一組Touch(ACTION_DOWN)和Touch(ACTION_UP)事件組成,在手機(jī)上看到實(shí)際操作類(lèi)似于點(diǎn)擊。
2、手勢(shì)事件
手勢(shì)事件是指在屏幕某處的按下、隨機(jī)移動(dòng)、抬起的操作,即直線滑動(dòng)操作??赏ㄟ^(guò) --pct-motion參數(shù)來(lái)配置其事件百分比。
該事件是由一個(gè) ACTION_DOWN事件、一系列ACTION_MOVE事件和一個(gè)ACTION_UP事件組成的,在手機(jī)上看到的實(shí)際操作是一個(gè)沒(méi)有拐彎的直線滑動(dòng)操作。
3、二指縮放事件
二指縮放事件是指在屏幕上的兩處同時(shí)按下,并同時(shí)移動(dòng),最后同時(shí)抬起的操作,即智能機(jī)上的放大縮小手勢(shì)操作??赏ㄟ^(guò) --pct-pinchzoom參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到:
該事件起始是一個(gè) ACTION_DOWN事件和一個(gè)ACTION_POINTER_DOWN事件,即模擬兩個(gè)手指同時(shí)點(diǎn)下;中間是一系列的ACTION_MOVE事件,即兩個(gè)手指同時(shí)在屏幕上直線滑動(dòng);結(jié)束是由一個(gè)ACTION_POINTER_UP事件和一個(gè)ACTION_UP事件組成的,即兩個(gè)手指同時(shí)放開(kāi)。
4、軌跡事件
軌跡事件是由一個(gè)或多個(gè)隨機(jī)的移動(dòng)組成的,有時(shí)會(huì)伴隨著點(diǎn)擊。很早之前的 Android手機(jī)帶有軌跡球,這個(gè)事件就是模擬的軌跡球的操作?,F(xiàn)在的手機(jī)幾乎都沒(méi)有軌跡球,但軌跡球事件中包含曲線滑動(dòng)操作,如果被測(cè)程序需要曲線滑動(dòng)時(shí)可以選用此參數(shù)??赏ㄟ^(guò)--pct-trackball參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到:
該事件是由一系列的 Trackball(ACTION_MOVE)事件組成的,觀察手機(jī)上的操作,即為一系列的曲線滑動(dòng)操作。
5、屏幕旋轉(zhuǎn)事件
屏幕旋轉(zhuǎn)事件是一個(gè)隱藏事件,在 Android官方文檔中并沒(méi)有記錄這個(gè)事件。它其實(shí)是模擬的Android手機(jī)的橫屏和豎屏切換??赏ㄟ^(guò)--pct-rotation參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到: [代碼] 該事件由一個(gè)rotation事件組成,其中degree表示的是旋轉(zhuǎn)方向,順時(shí)針旋轉(zhuǎn),0表示旋轉(zhuǎn)90度的方向,1表示旋轉(zhuǎn)180度的方向,2表示旋轉(zhuǎn)270度的方向,3表示旋轉(zhuǎn)360度的方向。在執(zhí)行過(guò)程中,可以看到手機(jī)屏幕在橫豎屏之間不斷地切換。
6、基本導(dǎo)航事件
基本導(dǎo)航事件是指點(diǎn)擊方向輸入設(shè)備的上、下、左、右按鍵的操作,現(xiàn)在手機(jī)上很少有上、下、左、右按鍵,這種事件一般用得比較少??赏ㄟ^(guò) --pct-nav參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到:
該事件是由一個(gè) Key(ACTION_DOWN)和一個(gè)Key(ACTION_UP)組成的,點(diǎn)擊的就是上、下、左、右四個(gè)方向按鍵。
7、主要導(dǎo)航事件
主要導(dǎo)航事件是指點(diǎn)擊 “主要導(dǎo)航”按鍵的操作,這些按鍵通常會(huì)導(dǎo)致UI界面中的動(dòng)作,如鍵盤(pán)的中間鍵、回退按鍵、菜單按鍵??赏ㄟ^(guò)--pct-majornav參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到: [代碼] 該事件是由一個(gè)Key(ACTION_DOWN)和一個(gè)Key(ACTION_UP)組成的,點(diǎn)擊的按鍵就是中間鍵和菜單鍵。
8、系統(tǒng)按鍵事件
系統(tǒng)按鍵事件是指點(diǎn)擊系統(tǒng)保留使用的按鍵的操作,如點(diǎn)擊 Home鍵、返回鍵、音量調(diào)節(jié)鍵等。可通過(guò)--pct-syskeys參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到: [代碼] 該事件是由一個(gè)Key(ACTION_DOWN)和一個(gè)Key(ACTION_UP)組成的,點(diǎn)擊的就是上面說(shuō)到的幾個(gè)系統(tǒng)按鍵。
9、啟動(dòng)Activity事件
啟動(dòng) Activity事件是指在手機(jī)上啟動(dòng)一個(gè)Activity的操作。在隨機(jī)的時(shí)間間隔中,Monkey將執(zhí)行一個(gè)startActivity()方法,作為最大限度上覆蓋被測(cè)包中全部Activity的一種方法??赏ㄟ^(guò)--pct-appswitch參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到: [代碼] 該事件是由一個(gè)Switch操作組成的,從手機(jī)上看,上面的操作實(shí)際是打開(kāi)了com.android.settings這個(gè)應(yīng)用的一個(gè)com.android.settings.Settings的Activity界面。
10、鍵盤(pán)事件
鍵盤(pán)事件主要是一些與鍵盤(pán)相關(guān)的操作。比如點(diǎn)擊輸入框、鍵盤(pán)彈起、點(diǎn)擊輸入框以外區(qū)域、鍵盤(pán)收回等。可通過(guò) --pct-flip參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到: [代碼] 如日志所示,這里主要是鍵盤(pán)的打開(kāi)和關(guān)閉操作。
11、其他類(lèi)型事件
其他類(lèi)型事件包括了除前面提到的 10種事件外其他所有的事件,如按鍵、其他不常用的設(shè)備上的按鈕等。可通過(guò)--pct-anyevent參數(shù)來(lái)配置其事件百分比。從Monkey執(zhí)行該事件對(duì)外輸出的日志可以看到: [代碼] 該事件是由一個(gè)Key(ACTION_DOWN)和一個(gè)Key(ACTION_UP)組成的,點(diǎn)擊的按鍵就是其他的一些系統(tǒng)按鍵,如字母按鍵、數(shù)字按鍵等。因?yàn)楝F(xiàn)在手機(jī)很少帶字母按鍵或數(shù)字按鍵,所以這個(gè)事件一般使用得比較少。
12、小結(jié)
好了,Monkey事件暫且到這里,下一篇計(jì)劃介紹分享Monkey參數(shù)?。?!
您的肯定就是我進(jìn)步的動(dòng)力。
如果你感覺(jué)還不錯(cuò),就請(qǐng)鼓勵(lì)一下吧!記得點(diǎn)波
?
推薦
?哦!!!(點(diǎn)擊右邊的小球即可)
個(gè)人公眾號(hào)
微信群
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
