1.monkey簡介:
monkey測試時android平臺自動化測試的一中手段挚躯,通過monkey程序模擬用戶觸摸屏幕,滑動trackball猜揪,按鈕等操作對設(shè)備上的程序進行壓力測試潜叛,檢測程序多久的時間互發(fā)生異常。
monkey.jar程序是由一個名為“monkey”的shell腳本來啟動執(zhí)行的
2.使用方法:
打開cmd趴酣,在窗口中執(zhí)行 ? ?adb shell monkey ?{+命令參數(shù)} ? ? ?來進行monkey測試
3.monkey命令的簡單使用幫助:
命令:adb shell ?monkey -help?
4.monkey命令參數(shù)介紹:
1)參數(shù):-p:用于約束限制,指定一個或多個包(package坑夯,即App)
PS:不指定包岖寞,monkey將允許系統(tǒng)啟動設(shè)備中的所有App
例:指定一個包
adb shell monkey -p com.taojin 100 ? ? ? #com.taojin 為包名,100為事件計數(shù)
例:不指定包:
adb shell monkey ?100 ? ? ? ? ? ? ? ? ? ? ? ? #隨機發(fā)送100條指令
2)參數(shù):-v:用于指定反饋信息級別
PS:日志的級別分為三個等級柜蜈,分別對應(yīng)以下參數(shù)
日志級別:level0
例:adb shell monkey -p com.taojn -v 100
日志級別:level1
例:adb shell monkey -p com.taojn -v-v 100
日志級別:level2
例:adb shell monkey -p com.taojn -v-v-v 100
3)參數(shù):-s:用于指定偽隨機生成器的seed值仗谆,如果seed相同指巡,則兩次monkey測試所產(chǎn)生的事件序列相同。
例:adb shell monkey -p com.taojin -s 10 100
4)參數(shù):--throttle<毫秒>:用于指定用戶操作(即事件)間的時延隶垮,單位為毫秒
例:adb shell monkey -p com.taojin --throttle 3000 100
5)參數(shù):--ignore-crashes:用于指定當應(yīng)用程序崩潰時(Force&cloase錯誤)厌处,monkey是否會停止運行。如果使用此參數(shù)岁疼,即使應(yīng)用程序奔潰阔涉,monkey依然會發(fā)送事件,直到事件計數(shù)完成捷绒。
例:adb shell monkey -p com.taojin --ignore-crashes 1000 ? ? ?#測試過程中即使weather程序奔潰瑰排,monkey依然會繼續(xù)發(fā)送事件直到事件數(shù)目達到1000為止。
例:adb shell monkey -p com.taojin ?1000
測試過程中暖侨,如果程序崩潰椭住,monkey將會停止運行。
6)參數(shù):--ignore-timecounts:(無響應(yīng)ANR)用于指定當應(yīng)用程序發(fā)生ANR(application No responding)錯誤時字逗,monkey是否會停止運行京郑。如果使用此參數(shù),即使應(yīng)用程序發(fā)生ANR錯誤葫掉,monkey依然會繼續(xù)發(fā)送事件直到事件計數(shù)完成些举。
7)參數(shù):--ignore-security-exception(許可整數(shù)崩潰):用于指定當應(yīng)用程序發(fā)生許可錯誤時,(如證書許可俭厚,網(wǎng)絡(luò)許可等)如果使用此參數(shù)户魏,即使應(yīng)用程序發(fā)生許可錯誤,monkey依然會發(fā)送事件挪挤,知道事件計數(shù)完成叼丑。
8)參數(shù):--kill-process-after-error(發(fā)生錯誤停止運行并保持當前狀態(tài))
用于指定當應(yīng)用程序發(fā)生錯誤時,是否停止其運行扛门。如果指定此參數(shù)鸠信,當應(yīng)用程序發(fā)生錯誤時,應(yīng)用程序停止運行并保持在當前狀態(tài)(注意:系統(tǒng)并不會結(jié)束該應(yīng)用程序的進程)论寨。
9)參數(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.taojin --pct-touch 10 1000
?-pct-motion{+百分比}
調(diào)整動作事件的百分比(動作事件由屏幕上某處的一個down事件政基、一系列的偽隨機事件和一個up事件組成)
adb shell monkey -p?com.taojin --pct-motion 20 1000
?--pct-trackball{+百分比}
調(diào)整軌跡事件的百分比(軌跡事件由一個或幾個隨機的移動組成贞铣,有時還伴隨有點擊)
adb shell monkey -p com.taojin --pct-trackball 30 1000
?--pct-nav{+百分比}
調(diào)整“基本”導(dǎo)航事件的百分比(導(dǎo)航事件由來自方向輸入設(shè)備的up/down/left/right組成)
adb shell monkey -p com.taojin --pct-nav 40 1000
?--pct-majornav{+百分比}
調(diào)整“主要”導(dǎo)航事件的百分比(這些導(dǎo)航事件通常引發(fā)圖形界面中的動作,如:5-way鍵盤的中間按鍵沮明、回退按鍵、菜單按鍵)
adb shell monkey -p com.taojin --pct-majornav 50 1000
?--pct-syskeys{+百分比}
調(diào)整“系統(tǒng)”按鍵事件的百分比(這些按鍵通常被保留窍奋,由系統(tǒng)使用荐健,如Home酱畅、Back、Start Call江场、End Call及音量控制鍵)
adb shell monkey -p com.taojin --pct-syskeys 60 1000
?--pct-appswitch{+百分比}
調(diào)整啟動Activity的百分比纺酸。在隨機間隔里,Monkey將執(zhí)行一個startActivity()調(diào)用址否,作為最大程度覆蓋包中全部Activity的一種方法
adb shell monkey -p com.taojin --pct-appswitch 70 1000
?--pct-anyevent{+百分比}
調(diào)整其它類型事件的百分比餐蔬。它包羅了所有其它類型的事件,如:按鍵佑附、其它不常用的設(shè)備按鈕樊诺、等等
adb shell monkey -p com.taojin?
--pct -anyevent 100 1000*指定多個類型事件的百分比:
adb shell monkey -p com.taojin --pct-anyevent 50 --pct-appswitch 50 1000
注意:各事件類型的百分比總數(shù)不能超過100%;