monkey是android自帶系統(tǒng)自帶的程序家淤,可以生成偽隨機(jī)用戶事件來模擬單擊、雙擊瑟由、輸入、滑動冤寿、拖動歹苦、觸摸、手勢等操作督怜,可以對正在開發(fā)中的程序進(jìn)行隨機(jī)壓力測試和穩(wěn)定性測試殴瘦。
monkey命令格式:adb shell monkey [options]
;其中options值有很多選項,可以在Monkey官網(wǎng)查看号杠,也可以輸入命令 adb shell monkey -help
可以查看到其對應(yīng)的所有值蚪腋。event-count代表事件總數(shù),該參數(shù)必須寫到命令的最后邊姨蟋,且不可以省略屉凯。
基礎(chǔ)選項:
-p 用于約束限制,用此參數(shù)指定一個包眼溶,指定包后Monkey將被允許啟動指定應(yīng)用悠砚。
-v 指定日志的詳細(xì)程度,分Level1堂飞、Level2灌旧、Level3;-v 默認(rèn)值,僅提供啟動提示绰筛,操作結(jié)果等少量信息
枢泰,也就是Level1,比如adb shell monkey -p xxx.xxx.xxx -v 1 ;-v -v
提供比較詳細(xì)信息铝噩,比如啟動的每個activity信息 衡蚂,也就是Level2,比如adb shell monkey -p xxx.xxx.xxx -v -v 1
;-v -v -v 提供最詳細(xì)的信息 ,比如adb shell monkey -p xxx.xxx.xxx -v -v -v 1
-s
偽隨機(jī)數(shù)生成器的種子值讳窟,如果我們兩次monkey測試事件使用相同的種子值让歼,會產(chǎn)生相同的事件序列;如果不指定種子值,系統(tǒng)會產(chǎn)生一個隨機(jī)值丽啡。種子值對我們復(fù)現(xiàn)bug很重要谋右。
--throttle指定兩次操作間的時延,單位為ms
--pct事件選項补箍,一般格式為:--pct-事件名稱 事件百分比
調(diào)試選項:
由于monkey在測試app時改执,我們需要作長時間的穩(wěn)定性測試,在測試過程中坑雅,app很可能因為碰到問題而崩潰辈挂,此時測試會停止,而達(dá)不到我們長期測試的目的裹粤,我們需要通過調(diào)試參數(shù)來讓測試執(zhí)行繼續(xù)终蒂,主要的幾個參數(shù)如下
--ignore-crashes 指即使應(yīng)用程序崩潰(Force&
Close錯誤),Monkey依然會發(fā)送事件遥诉,直到事件計數(shù)達(dá)到指定的次數(shù)為止拇泣。
例:adb shell monkey -p cn.mopon.film --ignore-crashes 100000
--ignore-timeouts 指app在發(fā)生 ANR錯誤(無響應(yīng)),Monkey依然會發(fā)送事件矮锈,直到事件計數(shù)完成霉翔。
--ignore-security-exceptions
指APP發(fā)生許可證書錯誤時,Monkey依然繼續(xù)發(fā)送事件苞笨,直到事件數(shù)目達(dá)到目標(biāo)值為止债朵。
示例:
adb shell monkey -p cn.mopon.film -v -v -v –throttle 300 --pct-touch 20
–-pct-motion 20 --pct-nav 20 –pct-syskeys 20 --ignore-crashes --ignore-timeouts
--ignore-security-exceptions 3000>D:mokey_log.log
解釋:制定應(yīng)用程序cn.mopon.film,日志級別為超詳細(xì),操作之間間隔300ms瀑凝,制定了觸摸序芦、手勢、基本導(dǎo)航猜丹、系統(tǒng)按鍵事件且占比都為20%芝加,且monkey運行過程發(fā)生程序崩潰、無響應(yīng)射窒、認(rèn)證錯誤等情況藏杖,依然發(fā)送事件,直到事件數(shù)目為3000脉顿,最后將生成的日志文件保存在D盤蝌麸,命名為monkey_log.log
以上內(nèi)容為大家介紹了Monkey命令格式詳解,希望對大家有所幫助艾疟,如果想要了解更多軟件測試相關(guān)知識来吩,請搜索多測師敢辩。