一是越、Monkey測(cè)試簡(jiǎn)介
是Android平臺(tái)自動(dòng)化測(cè)試的一種手段蔑歌,通過(guò)Monkey程序模擬用戶觸摸屏幕、滑動(dòng)Trackball掀鹅、按鍵等操作散休,來(lái)對(duì)設(shè)備上的程序進(jìn)行壓力測(cè)試,檢測(cè)程序多久時(shí)間會(huì)發(fā)生異常乐尊。
二溃槐、Monkey程序介紹
1.由Android系統(tǒng)自帶,使用Java語(yǔ)言寫(xiě)成科吭,在安卓文件系統(tǒng)中的存放路徑/system/framework/monkey.jar;
2.Monkey.jar程序是由一個(gè)名為“monkey”的shell腳本來(lái)啟動(dòng)執(zhí)行昏滴,shell腳本在Android文件系統(tǒng)中的存放路徑:/system/bin/monkey;
然后在cmd窗口中執(zhí)行:adb shell monkey+{命令參數(shù)}來(lái)進(jìn)行Monkey測(cè)試了!
三对人、Monkey命令的簡(jiǎn)單幫助命令
adb shell monkey -help
四谣殊、常用命令
1.參數(shù):-p,用于約束限制牺弄,指定一個(gè)或多個(gè)包姻几。指定包后,Monkey只可啟動(dòng)指定的App势告;若不指定蛇捌,講啟動(dòng)設(shè)備中所有的App;
指定一個(gè)包:
adb shell monkey? -p 包名 1000
其中1000為壓力執(zhí)行的頻率次數(shù)
指定多個(gè)包:
adb shell monkey? -p 包名 -p 包名 -p 包名1000
不指定:
adb shell monkey? 1000
2.參數(shù):-v用于指定反饋信息級(jí)別(日志的詳細(xì)程度)
adb shell monkey? -p 包名 -v -v? 1000
-v顯示基礎(chǔ)信息(level0)
-v兩個(gè)較為詳細(xì)(level1)
-v三個(gè)最詳細(xì)(level2)
3.參數(shù):-s
用戶指定隨機(jī)數(shù)生成的seed值,如果seed值相同咱台,則兩次Monkey測(cè)試產(chǎn)生的事件序列也相同
Monkey測(cè)試1:adb shell monkey -p 包名 -s 10 1000
Monkey測(cè)試2:adb shell monkey -p 包名 -s 10 1000
4.參數(shù):--throttle(毫秒)
用于指定用戶操作(事件)時(shí)間的時(shí)延络拌,單位是毫秒:
adb shell monkey -p 包名 --throttle 3000 1000
延遲3000毫秒,事件數(shù)1000
5.參數(shù):--ignore-crashes
用于指定當(dāng)程序崩潰時(shí)(Force & Close錯(cuò)誤)回溺,Monkey是否停止運(yùn)行春贸。
如果使用此參數(shù),即使應(yīng)用程序崩潰遗遵,Monkey依然會(huì)發(fā)送事件萍恕,直到事件計(jì)數(shù)完成
adb shell monkey -p 包名 --ignore-crashes 1000
6.參數(shù):--ignore-timeouts
用于指定當(dāng)應(yīng)用發(fā)生ANR(Application No Responding)錯(cuò)誤時(shí),Monkey是否停止運(yùn)行车要。
如果使用此參數(shù)允粤,即使程序發(fā)生ANR錯(cuò)誤,Monkey依然會(huì)發(fā)送事件,直到事件計(jì)數(shù)完成类垫。
adb shell monkey -p 包名 --ignore-timeouts 1000
7.參數(shù):-ignore-security-exceptions
用于指定當(dāng)程序發(fā)生許可錯(cuò)誤時(shí)(如證書(shū)許可绳姨,網(wǎng)絡(luò)許可等),Monkey是否停止運(yùn)行阔挠。
如果使用此參數(shù),即使應(yīng)用程序發(fā)生許可錯(cuò)誤脑蠕,Monkey依然會(huì)發(fā)送事件购撼,直到完成。
adb shell monkey -p 包名 --ignore-security-exceptions 1000
8.參數(shù):--kill-process-after-error
用戶指定當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤時(shí)谴仙,是否停止其運(yùn)行迂求。
如果使用此參數(shù),當(dāng)應(yīng)用程序發(fā)生錯(cuò)誤時(shí)晃跺,應(yīng)用程序停止運(yùn)行并保持當(dāng)前狀態(tài)揩局。
注意:應(yīng)用程序僅是靜止在發(fā)生錯(cuò)誤時(shí)的狀態(tài),系統(tǒng)并不會(huì)結(jié)束該應(yīng)用程序的進(jìn)程
adb shell monkey -p 包名 --kill-process-after-error 1000
9.參數(shù):--monitor-native-crashes
用于指定是否監(jiān)視并報(bào)告應(yīng)用程序發(fā)生崩潰的本地代碼
adb shell monkey -p 包名 --monitor-native-crashes 1000
10.參數(shù):--pct-{+事件類別} {+事件類別百分比}