Monkey命令

? ? ? ? ? ? ? ?Monkey命令

一、Monkey測試簡介

Monkey測試是Android平臺自動化測試的一種手段,通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、按鍵等操作來對設備上的程序進行壓


力測試,檢測程序多久的時間會發(fā)生異常。


二、Monkey程序介紹

1) Monkey程序由Android系統(tǒng)自帶,使用Java語言寫成,在Android文件系統(tǒng)中的存放路徑是:/system/framework/monkey.jar;

2) Monkey.jar程序是由一個名為“monkey”的Shell腳本來啟動執(zhí)行,shell腳本在Android文件系統(tǒng)中的存放路徑是:/system/bin/monkey;


這樣就可以通過在CMD窗口中執(zhí)行: adb shell monkey {+命令參數(shù)}來進行Monkey測試了。?


三、Monkey命令的簡單幫助

要獲取Monkey命令自帶的簡單幫助,在CMD中執(zhí)行命令:

adb shell monkey –help


四、Monkey命令參數(shù)介紹

1)參數(shù):? -p

參數(shù)-p用于約束限制,用此參數(shù)指定一個或多個包(Package,即App)。指定

包之后,Monkey將只允許系統(tǒng)啟動指定的APP。如果不指定包,Monkey將允許系統(tǒng)啟動設備中的所有APP。

*指定一個包: adb shell monkey -p com.htc.Weather?100

說明:com.htc.Weather為包名,100是事件計數(shù)(即讓Monkey程序模擬100次隨機用戶事件)。

*指定多個包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader? -p com.htc.photo.widgets 100

*不指定包:adb shell monkey 100

 說明:Monkey隨機啟動APP并發(fā)送100個隨機事件。

*要查看設備中所有的包,在CMD窗口中執(zhí)行以下命令:

?>adb shell

? #cddata/data

? #ls


2)參數(shù):? -v

用于指定反饋信息級別(信息級別就是日志的詳細程度),總共分3個級別,分別對應的參數(shù)如下表所示:

日志級別Level0

示例adb shellmonkey -p com.htc.Weather –v 100

說明缺省值,僅提供啟動提示、測試完成和最終結(jié)果等少量信息


日志級別Level 1

示例adb shellmonkey -p com.htc.Weather –v -v 100

說明提供較為詳細的日志,包括每個發(fā)送到Activity的事件信息


日志級別Level 2

示例adb shellmonkey -p com.htc.Weather –v -v –v 100

說明最詳細的日志,包括了測試中選中/未選中的Activity信息


3)參數(shù):? -s

用于指定偽隨機數(shù)生成器的seed值,如果seed相同,則兩次Monkey測試所產(chǎn)生的事件序列也相同的。

*示例:

 Monkey測試1:adb shell monkey -p com.htc.Weather –s 10 100

Monkey測試2:adb shell monkey -p com.htc.Weather–s 10 100

兩次測試的效果是相同的,因為模擬的用戶操作序列(每次操作按照一定的先后順序所組成的一系列操作,即一個序列)是一樣的。操作序


列雖然是隨機生成的,但是只要我們指定了相同的Seed值,就可以保證兩次測試產(chǎn)生的隨機操作序列是完全相同的,所以這個操作序列偽隨


機的;


4)參數(shù):? --throttle <毫秒>

用于指定用戶操作(即事件)間的時延,單位是毫秒;

*示例:adb shell monkey -p com.htc.Weather –throttle 3000 100


5)參數(shù):? --ignore-crashes

用于指定當應用程序崩潰時(Force& Close錯誤),Monkey是否停止運行。如果使用此參數(shù),即使應用程序崩潰,Monkey依然會發(fā)送事件,直


到事件計數(shù)完成。

*示例1:adb shellmonkey -p com.htc.Weather --ignore-crashes 1000

測試過程中即使Weather程序崩潰,Monkey依然會繼續(xù)發(fā)送事件直到事件數(shù)目達到1000為止;

*示例2:adb shellmonkey -p com.htc.Weather 1000

測試過程中,如果Weather程序崩潰,Monkey將會停止運行。



6)參數(shù):? --ignore-timeouts(無響應ANR)

用于指定當應用程序發(fā)生ANR(Application No Responding)錯誤時,Monkey是否停止運行。如果使用此參數(shù),即使應用程序發(fā)生ANR錯誤,


Monkey依然會發(fā)送事件,直到事件計數(shù)完成。


7)參數(shù):? --ignore-security-exceptions(許可證書崩潰)

用于指定當應用程序發(fā)生許可錯誤時(如證書許可,網(wǎng)絡許可等),Monkey是否停止運行。如果使用此參數(shù),即使應用程序發(fā)生許可錯誤,


Monkey依然會發(fā)送事件,直到事件計數(shù)完成。


8)參數(shù):? --kill-process-after-error(發(fā)生錯誤停止運行并保持當前狀態(tài))

用于指定當應用程序發(fā)生錯誤時,是否停止其運行。如果指定此參數(shù),當應用程序發(fā)生錯誤時,應用程序停止運行并保持在當前狀態(tài)(注意:系統(tǒng)并不會結(jié)束該應用程序的進程)。


[if !supportLists]9)?[endif]參數(shù):--monitor-native-crashes(監(jiān)視并報告Androids系統(tǒng)本地代碼的崩潰事件)?



10)參數(shù):? --pct-{+事件類別}{+事件類別百分比}

用于指定每種類別事件的數(shù)目百分比(在Monkey事件序列中,該類事件數(shù)目占總事件數(shù)目的百分比)


參數(shù):

使用說明:

示例:


--pct-touch{+百分比}

調(diào)整觸摸事件的百分比(觸摸事件是一個down-up事件,它發(fā)生在屏幕上的某單一位置)

adb shell monkey -p com.htc.Weather--pct-touch 10 1000


--pct-motion{+百分比}

調(diào)整動作事件的百分比(動作事件由屏幕上某處的一個down事件、一系列的偽隨機事件和一個up事件組成)adb shell monkey -p


com.htc.Weather --pct-motion 20 1000


--pct-trackball{+百分比}

調(diào)整軌跡事件的百分比(軌跡事件由一個或幾個隨機的移動組成,有時還伴隨有點擊)

adb shell monkey -p com.htc.Weather--pct-trackball 30 1000

--pct-nav{+百分比}


調(diào)整“基本”導航事件的百分比(導航事件由來自方向輸入設備的up/down/left/right組成)

adb shell monkey -p com.htc.Weather--pct-nav 40 1000


--pct-majornav{+百分比}

調(diào)整“主要”導航事件的百分比(這些導航事件通常引發(fā)圖形界面中的動作,如:5-way鍵盤的中間按鍵、回退按鍵、菜單按鍵)

adb shell monkey -p com.htc.Weather--pct-majornav 50 1000


--pct-syskeys{+百分比}

調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留,由系統(tǒng)使用,如Home、Back、Start Call、End Call及音量控制鍵)

adb shell monkey -p com.htc.Weather--pct-syskeys 60 1000


--pct-appswitch{+百分比}

調(diào)整啟動Activity的百分比。在隨機間隔里,Monkey將執(zhí)行一個startActivity()調(diào)用,作為最大程度覆蓋包中全部Activity的一種方法

adb shell monkey -p com.htc.Weather--pct-appswitch 70 1000


--pct-anyevent{+百分比}

調(diào)整其它類型事件的百分比。它包羅了所有其它類型的事件,如:按鍵、其它不常用的設備按鈕、等等

adb shell monkey -p com.htc.Weather


--pct -anyevent 100 1000*指定多個類型事件的百分比:

adb shell monkey -p com.htc.Weather--pct-anyevent 50 --pct-appswitch 50 1000

注意:各事件類型的百分比總數(shù)不能超過100%;

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

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