在移動(dòng)端自動(dòng)化測(cè)試領(lǐng)域,有這樣的一只”Monkey”,它一旦被執(zhí)行,就會(huì)讓被測(cè)的移動(dòng)端應(yīng)用程序像猴子一樣隨意亂跳,測(cè)試人員通常利用這只“Monkey”來對(duì)應(yīng)用程序進(jìn)行壓力測(cè)試,從而評(píng)估和檢查被測(cè)程序的穩(wěn)定性。
Monkey命令的啟動(dòng)腳本是安卓系統(tǒng)的System路徑下bin目錄中,用戶主要是通過adb相關(guān)的命令啟動(dòng)Monkey來進(jìn)行操作。Monkey命令在執(zhí)行時(shí),會(huì)結(jié)合搭配的參數(shù),生成不同的偽隨機(jī)事件流,而且也會(huì)在移動(dòng)設(shè)備上執(zhí)行對(duì)應(yīng)的測(cè)試事件操作。Monkey在進(jìn)行穩(wěn)定性測(cè)試過程中,如果被測(cè)程序崩潰或出現(xiàn)異常、發(fā)生了ANR,也就是程序未響應(yīng),Monkey會(huì)把相關(guān)的信息記錄對(duì)應(yīng)的日志,并判斷測(cè)試過程是繼續(xù)運(yùn)行還是停止運(yùn)行。按照參數(shù)中指定的級(jí)別反饋,在Monkey操作中還可以看到執(zhí)行過程中產(chǎn)生的報(bào)告和生成的事件信息。
Monkey對(duì)手機(jī)App進(jìn)行穩(wěn)定性測(cè)試時(shí),會(huì)通過11大事件來模擬用戶的常規(guī)操作,但是這些事件在執(zhí)行過程中都會(huì)充滿隨機(jī)性,主要有手勢(shì)事件、觸摸事件、屏幕旋轉(zhuǎn)事件、鍵盤事件、二指縮放事件、系統(tǒng)按鍵事件、軌跡事件、基本導(dǎo)航事件、主要導(dǎo)航事件、啟動(dòng)Activity事件、其他類型方面的事件。
(圖片來源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪之)
手勢(shì)事件比較常見,模擬用戶在手機(jī)屏幕的某一處的按下、抬起、任意移動(dòng)等操作,Monkey命令可結(jié)合--pct-motion參數(shù)來配置該事件百分比。觸摸事件,有點(diǎn)類似于在手機(jī)上進(jìn)行點(diǎn)擊的操作,模擬用戶在屏幕的某一處按下并抬起的操作,Monkey命令可結(jié)合--pct-touch參數(shù)來配置其事件百分比。屏幕旋轉(zhuǎn)事件也比較常見,就是用來模擬用戶手機(jī)的橫屏和豎屏切換,它算是一個(gè)隱藏事件,因?yàn)樵诠俜轿臋n中并沒有太多的說明。Monkey命令可結(jié)合--pct-rotation參數(shù)來配置其事件百分比。鍵盤事件主要集中在使用鍵盤產(chǎn)生的相關(guān)操作,比如點(diǎn)擊輸入框、鍵盤彈起與收回等。Monkey命令可結(jié)合--pct-flip參數(shù)來配置其事件百分比。二指縮放事件就是用戶在手機(jī)屏幕上進(jìn)行放大縮小手勢(shì)操作。Monkey命令可結(jié)合--pct-pinchzoom參數(shù)來配置其事件百分比。系統(tǒng)按鍵事件,主要是指點(diǎn)擊系統(tǒng)自帶的使用按鍵,比如點(diǎn)擊返回鍵、音量調(diào)節(jié)鍵等。Monkey命令可結(jié)合--pct-syskeys參數(shù)來配置其事件百分比。軌跡事件,現(xiàn)在看來幾乎是沒有的,這個(gè)事件就是模擬軌跡球的操作,像那種一系列的曲線滑動(dòng)操作,Monkey命令可結(jié)合--pct-trackball參數(shù)來配置其事件百分比?;緦?dǎo)航事件,一般用的比較少,模擬輸入設(shè)備的上、下、左、右按鍵的操作,現(xiàn)在手機(jī)上幾乎沒這些操作了。Monkey命令可結(jié)合--pct-nav參數(shù)來配置其事件百分比。主要導(dǎo)航事件通常會(huì)產(chǎn)生UI界面中的動(dòng)作,比如回退按鍵、菜單按鍵等。Monkey命令可結(jié)合--pct-majornav參數(shù)來配置其事件百分比。啟動(dòng)Activity事件,可能不太好理解,簡(jiǎn)單來說,相當(dāng)于是在手機(jī)上啟動(dòng)一個(gè)App的活動(dòng)頁(yè)面,Monkey命令可結(jié)合--pct-appswitch參數(shù)來配置其事件百分比。最后就是其他類型事件,就是除前面說的那些外,如按鍵、其他不常用的設(shè)備上的按鈕等。Monkey命令可結(jié)合--pct-anyevent參數(shù)來配置其事件百分比,但是該事件現(xiàn)在很少使用。