Android 穩(wěn)定性測(cè)試工具 Monkey(2) - 隨機(jī)事件

Monkey 提供了 11 種不同的事件倔监,包括觸摸事件、滑動(dòng)事件菌仁、縮放事件浩习、軌跡球事件、屏幕旋轉(zhuǎn)事件济丘、基本導(dǎo)航事件谱秽、主要導(dǎo)航事件、切換 Activity 事件、系統(tǒng)按鍵事件疟赊、其它類型事件郊供。通過這些事件來模擬用戶的操作。以下是事件的簡(jiǎn)要介紹:

  • --pct-touch 觸摸事件

觸摸事件是指在屏幕某處按下并抬起的操作听绳,就模擬日常手機(jī)使用中的點(diǎn)擊操作颂碘。日志如下:

:Sending Touch (ACTION_DOWN): 0:(161.0,913.0)
:Sending Touch (ACTION_UP): 0:(104.82977,953.52576)
  • --pct-motion 滑動(dòng)事件

滑動(dòng)事件是指在屏幕某處按下、隨機(jī)移動(dòng)椅挣、抬起的操作头岔。類似于我們?nèi)粘5幕瑒?dòng)屏幕翻頁的操作。日志顯示與觸摸事件相似:

:Sending Touch (ACTION_UP): 0:(645.69617,159.27142)
:Sending Touch (ACTION_DOWN): 0:(613.0,529.0)
  • --pct-pinchzoom 縮放事件

縮放事件是指在屏幕上的兩處同時(shí)按下鼠证,并同時(shí)移動(dòng)峡竣,最后同時(shí)抬起。就是平時(shí)我們使用時(shí)的放大縮小操作量九。

  • --pct-trackball 軌跡球事件

軌跡事件是由一個(gè)或多個(gè)隨機(jī)的移動(dòng)組成的适掰,有時(shí)會(huì)伴隨點(diǎn)擊。早起的智能機(jī)帶有軌跡球荠列,這個(gè)時(shí)間就是軌跡球的操作±嗬耍現(xiàn)在幾乎沒有軌跡球了,但這個(gè)軌跡事件包含了曲線滑動(dòng)事件肌似,如果被測(cè)應(yīng)用程序需要曲線滑動(dòng)才需要設(shè)置該事件百分比费就。

:Sending Trackball (ACTION_MOVE): 0:(-3.0,-4.0)
:Sending Trackball (ACTION_MOVE): 0:(4.0,-5.0)
  • --pct-rotation 屏幕旋轉(zhuǎn)事件

這是一個(gè)隱藏事件,用于模擬手機(jī)的橫豎屏切換川队。

:Sending rotation degree=1, persist=true
:Sending rotation degree=0, persist=true
:Sending rotation degree=2, persist=false

該事件由 rotation 事件組成力细, 其中 degree 表示選裝方向, 順時(shí)針旋轉(zhuǎn)固额, 0 表示旋轉(zhuǎn) 90 度眠蚂,1 表示 180 度, 2 表示旋轉(zhuǎn) 270 度斗躏, 3 表示旋轉(zhuǎn) 360 度

  • --pct-nav 基本導(dǎo)航事件

基本導(dǎo)航事件是指點(diǎn)擊方向輸入設(shè)備的上逝慧、下、左瑟捣、右按鍵的操作馋艺,現(xiàn)在手機(jī)上很少有這樣的方向鍵了。因此該事件用得相對(duì)很少迈套。

  • --pct-majornav 主要導(dǎo)航事件

主要導(dǎo)航事件是指點(diǎn)擊“主要導(dǎo)航”按鈕的操作捐祠。這些按鍵通常會(huì)導(dǎo)致 UI 界面的動(dòng)作。如回退按鍵桑李、菜單按鍵等踱蛀。

  • --pct-flip 鍵盤事件

調(diào)整鍵盤事件主要是指一些與鍵盤相關(guān)的操作窿给。如點(diǎn)擊輸入框、鍵盤彈起率拒、點(diǎn)擊輸入框以外區(qū)域崩泡、鍵盤收回等

  • --pct-appswitch 切換 Activity 事件

切換 Activity 事件是指在手機(jī)上啟動(dòng)一個(gè) Activity 的操作。 在隨機(jī)的時(shí)間間隔中猬膨, Monkey 將執(zhí)行一個(gè) startActivity() 方法角撞, 作為最大限度上覆蓋被測(cè)包中全部 Activity 的一種方法。 (Activity 這個(gè)概念簡(jiǎn)單但不準(zhǔn)確的理解可以認(rèn)為就是頁面的意思

如果該事件比例偏低勃痴,你將會(huì)看到大部分時(shí)間的測(cè)試都停留在同一個(gè)頁面上谒所,因此適當(dāng)設(shè)置該事件的比例是很有必要的。

  • --pct-syskeys 系統(tǒng)按鍵事件

系統(tǒng)按鍵事件是指點(diǎn)擊系統(tǒng)保留使用的按鍵操作沛申,如點(diǎn)擊 HOME 鍵劣领、返回鍵、音量調(diào)節(jié)鍵等铁材。

  • --pct-anyevent 其它類型事件

其它類型事件除了上面的事件以外的其他事件尖淘。它包羅了所有其它類型的事件,如:按鍵著觉、其它不常用的設(shè)備按鈕村生、等等。

參數(shù)列表查看如下饼丘,參數(shù)后面緊接著是百分比 0-100:

事件類別 調(diào)整事件說明
--pct-touch 調(diào)整觸摸事件的百分比
--pct-motion 調(diào)整滑動(dòng)事件的百分比
--pct-pinchzoom 調(diào)整縮放事件的百分比
--pct-trackball 調(diào)整軌跡事件的百分比
--pct-rotation 調(diào)整屏幕旋轉(zhuǎn)事件的百分比
--pct-nav 調(diào)整基本導(dǎo)航事件的百分比
--pct-majornav 調(diào)整主要導(dǎo)航事件的百分比
--pct-flip 調(diào)整鍵盤事件的百分比
--pct-syskeys 調(diào)整系統(tǒng)按鍵事件的百分比
--pct-appswitch 調(diào)整啟動(dòng)Activity事件的百分比
--pct-anyevent 調(diào)整其它類型事件的百分比

示例:

# 單個(gè)參數(shù)設(shè)置百分比
adb shell monkey -p com.huomaotv.mobile --pct-appswitch 20 10000
# 多個(gè)參數(shù)設(shè)置百分比
adb shell monkey -p com.huomaotv.mobile --pct-appswitch 20 --pct-rotation 20 --pct-touch 30 --pct-motion 20 10000

注意:
參數(shù)后面緊接百分比 梆造,百分比的總量不能大于 100%

在實(shí)際工作中,如果簡(jiǎn)單跑一下穩(wěn)定性沒有必要修改這些參數(shù)葬毫。如果想測(cè)試更精確一些,讓 monkey 測(cè)試過程中減少一些無效的事件屡穗,可以根據(jù)項(xiàng)目 App 的特性調(diào)整事件的比例贴捡。

比如常見的應(yīng)用中觸摸和滑動(dòng)的操作肯定是最頻繁的,那么相對(duì)可以提高這兩種事件的比例村砂;或者如游戲視頻類的 App烂斋,會(huì)存在橫豎屏切換的操作,就適當(dāng)增加屏幕旋轉(zhuǎn)事件的比例础废。

# 觸摸 40%汛骂,滑動(dòng) 25%,頁面切換 10%评腺,屏幕旋轉(zhuǎn) 5%
adb shell monkey -p com.xxx.xxx --pct-touch 40 --pct-motion 25 --pct-appswitch
10 --pct-rotation 5 50000
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末帘瞭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蒿讥,更是在濱河造成了極大的恐慌蝶念,老刑警劉巖抛腕,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異媒殉,居然都是意外死亡担敌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門廷蓉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來全封,“玉大人,你說我怎么就攤上這事桃犬∩层玻” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵疫萤,是天一觀的道長(zhǎng)颂跨。 經(jīng)常有香客問我,道長(zhǎng)扯饶,這世上最難降的妖魔是什么恒削? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮尾序,結(jié)果婚禮上钓丰,老公的妹妹穿的比我還像新娘。我一直安慰自己每币,他們只是感情好携丁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兰怠,像睡著了一般梦鉴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揭保,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天肥橙,我揣著相機(jī)與錄音,去河邊找鬼秸侣。 笑死存筏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的味榛。 我是一名探鬼主播椭坚,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼搏色!你這毒婦竟也來了善茎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤频轿,失蹤者是張志新(化名)和其女友劉穎巾表,沒想到半個(gè)月后汁掠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡集币,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乞榨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖震叙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情划址,我是刑警寧澤夺颤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站势告,受9級(jí)特大地震影響咱台,放射性物質(zhì)發(fā)生泄漏春贸。R本人自食惡果不足惜萍恕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧残家,春花似錦、人聲如沸迂求。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掂榔,卻和暖如春装获,著一層夾襖步出監(jiān)牢的瞬間逼友,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工筐眷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人状植。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓浊竟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親津畸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子振定,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容