Monkey測(cè)試

monkey測(cè)試簡(jiǎn)介

什么是Monkey

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

操作流程

通過名為“monkey”的Shell腳本去啟動(dòng)Monkey.jar程序(shell腳本在Android文件系統(tǒng)中 的存放路徑是:/system/bin/monkey)碑定,在你指定的APP應(yīng)用上模擬用戶點(diǎn)擊流码,滑動(dòng),輸入等操作以極快的速度來對(duì)設(shè)備程序進(jìn)行壓力測(cè)試延刘,檢測(cè)程序是否會(huì)發(fā)生異常漫试,然后通過日志進(jìn)行排錯(cuò)。

目的

測(cè)試app 是否會(huì)是否會(huì)Crash,主要用于穩(wěn)定性測(cè)試
操作命令格式:adb shell monkey {+命令參數(shù)}

操作步驟

  1. 環(huán)境配置:把a(bǔ)db加入系統(tǒng)環(huán)境碘赖,手機(jī)開啟開發(fā)者模式
  2. 連接手機(jī)商虐,獲取測(cè)試的包名。獲取包名的方法
  3. Monkey編寫測(cè)試命令,并運(yùn)行崖疤。monkey操作命令

如果要提前中結(jié)束測(cè)試秘车,中斷運(yùn)行中的monkey

CTRL+C
adb shell ps | grep monkey  返回進(jìn)程號(hào)
adb shell kill [剛才查到的進(jìn)程號(hào)]

從Monkey日志中看問題

測(cè)試結(jié)果初步判斷

  1. monkey執(zhí)行時(shí)未加--ignore-crashes --ignore-crashes參數(shù),就先瀏覽日志中Events injected: 值劫哼,查看當(dāng)前已執(zhí)行的次數(shù)叮趴,就知道有無bug
  2. 程序無響應(yīng)的問題:在日志中搜索 “ANR”
  3. 崩潰問題:在日志中搜索 “Exception” ,在這里順便提一下常見的Java異常:
    1. 算術(shù)異常類:ArithmeticExecption
    2. 空指針異常類:NullPointerException
    3. 類型強(qiáng)制轉(zhuǎn)換異常:ClassCastException
    4. 數(shù)組負(fù)下標(biāo)異常:NegativeArrayException
    5. 數(shù)組下標(biāo)越界異常:ArrayIndexOutOfBoundsException
    6. 違背安全原則異常:SecturityException
    7. 文件已結(jié)束異常:EOFException
    8. 文件未找到異常:FileNotFoundException
    9. 字符串轉(zhuǎn)換為數(shù)字異常:NumberFormatException
    10. 操作數(shù)據(jù)庫異常:SQLException
    11. 輸入輸出異常:IOException
    12. 違法訪問錯(cuò)誤:IllegalAccessError
    13. 內(nèi)存不足錯(cuò)誤:OutOfMemoryError
    14. 堆棧溢出錯(cuò)誤:StackOverflowError 15.其他权烧,參考

找出問題后的操作步驟:

  1. 找到是monkey里面的哪個(gè)地方出錯(cuò)
  2. 查看Monkey里面出錯(cuò)前的一些事件動(dòng)作眯亦,并手動(dòng)執(zhí)行該動(dòng)作
  3. 若以上步驟還不能找出,可以使用之前執(zhí)行的monkey命令再執(zhí)行一遍般码,注意seed值要一樣妻率。

常規(guī)測(cè)試的monkey用法

adb shell monkey -p com.xxx.myapp --throttle 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000000>d:\mylog.log

對(duì)應(yīng)參數(shù)說明
-p指定包名
--throttle 100 MILLISEC事件之間插入的固定延遲。通過這個(gè)選項(xiàng)可以減緩Monkey的執(zhí)行速度板祝。如果不指定宫静,Monkey將盡可能快的產(chǎn)生并執(zhí)行事件
--ignore-crashes作用:通常,應(yīng)用發(fā)生崩潰或異常時(shí)Monkey會(huì)停止運(yùn)行。如果設(shè)置此項(xiàng)孤里,Monkey將繼續(xù)發(fā)送事件給系統(tǒng)伏伯,直到事件計(jì)數(shù)完成。
--ignore-timeouts作用:通常捌袜,應(yīng)用程序發(fā)生任何超時(shí)錯(cuò)誤(如“Application Not responding”對(duì)話框)Monkey將停止運(yùn)行说搅,設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng)虏等,直到事件計(jì)數(shù)完成弄唧。
--ignore-security-exception 作用:通常,當(dāng)程序發(fā)生許可錯(cuò)誤(例如啟動(dòng)一些需要許可的Activity)導(dǎo)致的異常時(shí)霍衫,Monkey將停止運(yùn)行套才。設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng)慕淡,直到事件計(jì)數(shù)完成。
--ignore-native-crashes忽略本地代碼導(dǎo)致的崩潰沸毁。設(shè)置忽略后峰髓,Monkey將執(zhí)行完所有的事件,不會(huì)因此停止
--monitor-native-crashes 監(jiān)視崩潰時(shí)的本地代碼
-v 每個(gè)-v都將增加反饋信息的級(jí)別息尺。共3個(gè)級(jí)別携兵,因此,-v -v -v可以提供最詳細(xì)的設(shè)置信息搂誉。
1000000 這里是指點(diǎn)擊的次數(shù)
>d:\mylog.log 日志輸出

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末徐紧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子炭懊,更是在濱河造成了極大的恐慌并级,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侮腹,死亡現(xiàn)場(chǎng)離奇詭異嘲碧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)父阻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門愈涩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人加矛,你說我怎么就攤上這事履婉。” “怎么了斟览?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵毁腿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)狸棍,這世上最難降的妖魔是什么身害? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮草戈,結(jié)果婚禮上塌鸯,老公的妹妹穿的比我還像新娘。我一直安慰自己唐片,他們只是感情好丙猬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著费韭,像睡著了一般茧球。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上星持,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天抢埋,我揣著相機(jī)與錄音,去河邊找鬼督暂。 笑死揪垄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逻翁。 我是一名探鬼主播饥努,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼八回!你這毒婦竟也來了酷愧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤缠诅,失蹤者是張志新(化名)和其女友劉穎溶浴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體管引,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡戳葵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了汉匙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拱烁。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖噩翠,靈堂內(nèi)的尸體忽然破棺而出戏自,到底是詐尸還是另有隱情,我是刑警寧澤伤锚,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布擅笔,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏猛们。R本人自食惡果不足惜念脯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弯淘。 院中可真熱鬧绿店,春花似錦、人聲如沸庐橙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽态鳖。三九已至转培,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間浆竭,已是汗流浹背浸须。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邦泄,地道東北人删窒。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像虎韵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缸废,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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