移動(dòng)APP測(cè)試之Monkey Test運(yùn)用

Monkey是Android平臺(tái)自動(dòng)化測(cè)試的一種手段,可以在模擬器里或?qū)嶋H設(shè)備中運(yùn)行荆几,它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流,如按鍵輸入吨铸、觸摸屏輸入行拢、手勢(shì)輸入等诞吱,實(shí)現(xiàn)對(duì)正在開發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試舟奠。

當(dāng)然對(duì)于移動(dòng)APP測(cè)試房维,monkey測(cè)試出了壓力測(cè)試外沼瘫,也可以做做簡(jiǎn)單的機(jī)型配適咙俩,就是測(cè)試App是否會(huì)出現(xiàn)crash等異常耿戚,以此來判讀其釋放與機(jī)型適配阿趁,可以發(fā)現(xiàn)程序無響應(yīng)問題和崩潰問題膜蛔。

接下來簡(jiǎn)單說說:

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

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

特征

1卵史、測(cè)試的對(duì)象僅為應(yīng)用程序包战转,有一定的局限性以躯。

2槐秧、Monky測(cè)試使用的事件流數(shù)據(jù)流是隨機(jī)的忧设,不能進(jìn)行自定義刁标。

3、可對(duì)MonkeyTest的對(duì)象膀懈,事件數(shù)量,類型谨垃,頻率等進(jìn)行設(shè)置。

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

基本使用

1.進(jìn)入monkey

命令:adb shell/system/bin/monkey

2.運(yùn)行monkey

命令:adb shell monkey ,是指隨機(jī)發(fā)送事件數(shù)

adb shell monkey 100匙隔,運(yùn)行monkey并執(zhí)行了100件隨機(jī)事件疑苫。

3. monkey常規(guī)類命令

adb shell monkey -h顯示monkey參數(shù)幫助信息usage

adb shell monkey -v打印出日志信息纷责,每個(gè)-v將增加反饋信息的級(jí)別捍掺,最多支持3個(gè)-v

4. monkey事件類命令

adb shell monkey -f

讓monkey運(yùn)行指定monkey腳本碰逸,為測(cè)試腳本名乡小,是指循環(huán)次數(shù)饵史。

adb shell monkey -s

可以重復(fù)之前的隨機(jī)操作,-s后接隨機(jī)數(shù)的生成器的seed值胳喷。

adb shell monkey --throttle

表示每個(gè)事件之間的固定延遲事件,時(shí)間的單位為ms夭织,若后面不接時(shí)間,monkey將不會(huì)延遲

事件百分比

adb shell monkey --ptc-touch

設(shè)定觸摸事件的百分比

adb shell monkey --ptc-motion

設(shè)定動(dòng)作事件的百分比

adb shell monkey --ptc-trackball

設(shè)定軌跡球事件的百分比

adb shell monkey --ptc-nav 設(shè)定基本導(dǎo)航事件的百分比

adb shell monkey --ptc-majornav

設(shè)定主要導(dǎo)航事件的百分比

adb shell monkey --ptc-syskeys

設(shè)定按鍵事件的百分比

adb shell monkey --ptc-appswitch

設(shè)定啟動(dòng)事件的百分比

adb shell monkey --ptc-anyevent

其他類型事件的百分比尊惰,包括keypress泥兰、不常用button以及其他未提及事件

5. monkey約束類命令

adb shell monkey -p

,測(cè)試一個(gè)或多個(gè)包名题禀,每個(gè)-p對(duì)應(yīng)一個(gè)包。

adb shell monkey -p

迈嘹,測(cè)試一個(gè)或多個(gè)類別削彬。

6. monkey調(diào)試類命令

adb shell monkey --dbg-no-events

監(jiān)視應(yīng)用程序所調(diào)用的包之間的轉(zhuǎn)換

adb shell monkey --hprof

在事件序列前后立即生成profiling report

adb shell monkey --ignore-crashes

讓monkey在應(yīng)用崩潰或異常后繼續(xù)發(fā)送事件直到計(jì)數(shù)完成

adb shell monkey --ignore-timeouts

讓monkey在任何超時(shí)錯(cuò)誤發(fā)生后繼續(xù)發(fā)送事件直到計(jì)數(shù)完成

adb shell monkey

--ignore-security-exceptions 讓monkey在應(yīng)用權(quán)限錯(cuò)誤發(fā)生后繼續(xù)發(fā)送事件直到計(jì)數(shù)完成

adb shell monkey --kill-process-after-error

讓monkey因?yàn)閼?yīng)用發(fā)生錯(cuò)誤而停止時(shí)秀仲,將會(huì)通知系統(tǒng)停止發(fā)送錯(cuò)誤進(jìn)程

adb shell monkey --monitor-native-crashes

讓監(jiān)視并報(bào)告monkey運(yùn)行時(shí)Android系統(tǒng)native code的崩潰事件

adb shell monkey --wait-dbg

暫停執(zhí)行中的monkey,直到有調(diào)試器與它連接

7. monkey API

軌跡球事件

DispatchTrackball(long downTime,long eventTime, int action, float x, float y,float pressure, float size, int metaState, float xPrecision, float yPrecision,int device, int edgeFlags)

輸入字符串事件

DispatchString(String text)

點(diǎn)擊事件

DispatchPointer(long downTime,long eventTime, int action, float x, float y,float pressure, float size, int metaState, float xPrecision, float yPrecision,int device, int edgeFlags)

啟動(dòng)應(yīng)用

LaunchActivity(String pkg_name, Stringcl_name)

等待事件

UserWait(long sleeptime)

按下按鍵

DispatchPress(int keyCode)

長按按鍵

LongPress(int keyCode)

發(fā)送按鍵

DispatchKey(long downTime, long eventTime,int action, int code, int repeat, int metaState, int device, int scancode)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末神僵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子保礼,更是在濱河造成了極大的恐慌安券,老刑警劉巖氓英,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異铝阐,居然都是意外死亡址貌,警方通過查閱死者的電腦和手機(jī)徘键,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門练对,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吹害,“玉大人螟凭,你說我怎么就攤上這事它呀÷菽校” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵下隧,是天一觀的道長。 經(jīng)常有香客問我淆院,道長,這世上最難降的妖魔是什么句惯? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任支救,我火速辦了婚禮,結(jié)果婚禮上拷淘,老公的妹妹穿的比我還像新娘。我一直安慰自己辕棚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布逝嚎。 她就那樣靜靜地躺著扁瓢,像睡著了一般补君。 火紅的嫁衣襯著肌膚如雪引几。 梳的紋絲不亂的頭發(fā)上挽铁,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天伟桅,我揣著相機(jī)與錄音叽掘,去河邊找鬼楣铁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛盖腕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播浓镜,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼膛薛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哄啄,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤雅任,失蹤者是張志新(化名)和其女友劉穎增淹,沒想到半個(gè)月后椿访,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虑润,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年拳喻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了哭当。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钦勘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亚亲,到底是詐尸還是另有隱情,我是刑警寧澤捌归,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站惜索,受9級(jí)特大地震影響特笋,放射性物質(zhì)發(fā)生泄漏巾兆。R本人自食惡果不足惜猎物,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一角塑、第九天 我趴在偏房一處隱蔽的房頂上張望蔫磨。 院中可真熱鬧,春花似錦质帅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炼邀。三九已至魄揉,卻和暖如春拭宁,著一層夾襖步出監(jiān)牢的瞬間洛退,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國打工兵怯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腔剂。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袜漩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

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