monkey測(cè)試

monkey定義

Monkey是Android中的一個(gè)命令行工具,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中治拿。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入笆焰、手勢(shì)輸入等)劫谅,實(shí)現(xiàn)對(duì)正在開發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試。

Monkey的特征

1嚷掠、 測(cè)試的對(duì)象僅為應(yīng)用程序包捏检,有一定的局限性。
2叠国、 Monky測(cè)試使用的事件流數(shù)據(jù)流是隨機(jī)的未檩,不能進(jìn)行自定義查吊。
3氏豌、 可對(duì)MonkeyTest的對(duì)象,事件數(shù)量递雀,類型项棠,頻率等進(jìn)行設(shè)置悲雳。

環(huán)境準(zhǔn)備
  1. java的jdk (cmd窗口, 輸入 java -version 香追, 有輸出版本則安裝成功)
  2. 安卓 adb (注意設(shè)置環(huán)境變量)
基本命令

前提: 手機(jī)與電腦連接合瓢,勾選USB調(diào)試

  1. 查看設(shè)備連接情況
    adb devices
  2. 安裝測(cè)試包
    adb install xx.apk (可以指定路徑,或者直接拖進(jìn)來)
  3. 獲取包名
    adb shell pm list package (一般保存在data/data下)
  4. 開始進(jìn)行壓測(cè)命令
    adb shell monkey -v 500
    --------產(chǎn)生500次隨機(jī)事件透典,作用在系統(tǒng)中所有activity(更精確地說晴楔,是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。
    參數(shù)命令詳解
  • 事件選項(xiàng)
    -v : 設(shè)定輸出信息的詳細(xì)級(jí)別
    1.日志級(jí)別 Level0
    示例 adb shellmonkey -p com.htc.Weather –v 100
    說明 缺省值峭咒,僅提供啟動(dòng)提示税弃、測(cè)試完成和最終結(jié)果等少量信息
    2.日志級(jí)別 Level 1
    示例 adb shellmonkey -p com.htc.Weather –v -v 100
    說明 提供較為詳細(xì)的日志,包括每個(gè)發(fā)送到Activity的事件信息
    3.日志級(jí)別 Level 2
    示例 adb shellmonkey -p com.htc.Weather –v -v –v 100
    說明 最詳細(xì)的日志凑队,包括了測(cè)試中選中/未選中的Activity信息
    -s:指定產(chǎn)生隨機(jī)事件種子值则果,要使回歸路徑一致,就必須使用相同的seed值,便于重現(xiàn)bug西壮。如: -s 5
    --throttle:每個(gè)事件結(jié)束后的間隔時(shí)間遗增,單位:毫秒——降低系統(tǒng)的壓力(如不指定,系統(tǒng)會(huì)盡快的發(fā)送事件序列)款青。如:--throttle 100
    【 設(shè)置事件百分比,所有的百分比加起來不能超過100%
    0:觸摸事件百分比做修,即參數(shù)--pct-touch
    1:滑動(dòng)事件百分比,即參數(shù)--pct-motion
    2:縮放事件百分比可都,即參數(shù)--pct-pinchzoom
    3:軌跡球事件百分比缓待,即參數(shù)--pct-trackball
    4:屏幕旋轉(zhuǎn)事件百分比蚓耽,即參數(shù)--pct-rotation
    5:基本導(dǎo)航事件百分比渠牲,即參數(shù)--pct-nav
    6:主要導(dǎo)航事件百分比,即參數(shù)--pct-majornav
    7:系統(tǒng)事件百分比步悠,即參數(shù)--pct-syskeys
    8:Activity啟動(dòng)事件百分比签杈,即參數(shù)--pct-appswitch
    9:鍵盤翻轉(zhuǎn)事件百分比,即參數(shù)--pct-flip
    10:其他事件百分比鼎兽,即參數(shù)--pct-anyevent
    例:adb shell monkey --pct-touch 20 -v 100

  • 約束選項(xiàng)
    -p:指定有效的package(如不指定答姥,則對(duì)系統(tǒng)中所有package有效),一個(gè)-p 對(duì)應(yīng)一個(gè)有效package谚咬, 如:-p com.ckt -p com.ckt.asura鹦付;
    參數(shù)-p用于約束限制,用此參數(shù)指定一個(gè)或多個(gè)包(Package择卦,即App)敲长。指定包之后,Monkey將只允許系統(tǒng)啟動(dòng)指定的APP秉继。如果不指定包祈噪,Monkey將允許系統(tǒng)啟動(dòng)設(shè)備中的所有APP。
    -c:activity必須至少包含一個(gè)指定的category尚辑,才能被啟動(dòng)辑鲤,否則啟動(dòng)不了。

  • 調(diào)試選項(xiàng)
    --dbg-no-events:初始化啟動(dòng)的activity杠茬,但是不產(chǎn)生任何事件月褥。
    --hprof:指定該項(xiàng)后在事件序列發(fā)送前后會(huì)立即生成分析報(bào)告 —— 一般建議指定該項(xiàng)。
    --ignore-crashes:忽略崩潰
    --ignore-timeouts:忽略超時(shí)
    --ignore-security-exceptions:忽略安全異常
    --kill-process-after-error:發(fā)生錯(cuò)誤后直接殺掉進(jìn)程
    --monitor-native-crashes:跟蹤本地方法的崩潰問題
    --wait-dbg:知道連接了調(diào)試器才執(zhí)行monkey測(cè)試瓢喉。

停止monkey腳本

最近用monkey來包apk的性能測(cè)試宁赤,發(fā)現(xiàn)一旦monkey跑起來以后,即使將數(shù)據(jù)線和PC斷開灯荧,monkey腳本還是會(huì)繼續(xù)運(yùn)行下去礁击。結(jié)果找到了一個(gè)辦法去停止它:
adb shell
top | grep monkey
顯示如下:
top | grep monkey
5447 0 1% S 10 262960K 10328K root com.android.commands.monkey
5447 0 0% S 10 262960K 10324K root com.android.commands.monkey
找到id為5447,然后再kill掉就OK了
adb shell
kill -9 5447

參考文獻(xiàn):
  1. http://ihongqiqu.com/2015/12/24/Android-Monkey-Test/
  2. http://blog.csdn.net/u014001964/article/details/51679293
  3. http://www.cnblogs.com/ansonz/p/3291261.html
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哆窿,隨后出現(xiàn)的幾起案子链烈,更是在濱河造成了極大的恐慌,老刑警劉巖挚躯,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件强衡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡码荔,警方通過查閱死者的電腦和手機(jī)漩勤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缩搅,“玉大人越败,你說我怎么就攤上這事∨鸢辏” “怎么了究飞?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)堂鲤。 經(jīng)常有香客問我亿傅,道長(zhǎng),這世上最難降的妖魔是什么瘟栖? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任葵擎,我火速辦了婚禮,結(jié)果婚禮上半哟,老公的妹妹穿的比我還像新娘酬滤。我一直安慰自己,他們只是感情好镜沽,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布敏晤。 她就那樣靜靜地躺著,像睡著了一般缅茉。 火紅的嫁衣襯著肌膚如雪嘴脾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天蔬墩,我揣著相機(jī)與錄音译打,去河邊找鬼。 笑死拇颅,一個(gè)胖子當(dāng)著我的面吹牛奏司,可吹牛的內(nèi)容都是我干的樟插。 我是一名探鬼主播竿刁,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼搪缨!你這毒婦竟也來了食拜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤副编,失蹤者是張志新(化名)和其女友劉穎负甸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痹届,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呻待,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了队腐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚕捉。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖香到,靈堂內(nèi)的尸體忽然破棺而出鱼冀,到底是詐尸還是另有隱情报破,我是刑警寧澤悠就,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站充易,受9級(jí)特大地震影響梗脾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盹靴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一炸茧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧稿静,春花似錦梭冠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悬钳,卻和暖如春盐捷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背默勾。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工碉渡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人母剥。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓滞诺,卻偏偏與公主長(zhǎng)得像形导,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子习霹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

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

  • 注意:應(yīng)該是monkey -p your.package.name -v 500 這條命令骤宣,前面沒有adb she...
    Ten_Minutes閱讀 755評(píng)論 0 0
  • Monkey命令行可用的全部選項(xiàng) 常規(guī) --help 列出簡(jiǎn)單的用法。 -v 命令行的每一個(gè)-v將增加反饋信息的級(jí)...
    宇文臭臭閱讀 822評(píng)論 0 4
  • 1.定義 Monkey是Android中的一個(gè)命令行工具序愚,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中憔披。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶...
    JJwhite閱讀 821評(píng)論 0 0
  • ##一,自己測(cè)試用到的總結(jié)下來: 1.Android SDK和Java JDK參照網(wǎng)上其他教程安裝爸吮,這里不再贅述芬膝。...
    殘夜天晴閱讀 1,411評(píng)論 1 0
  • 海南紅繡球 車?yán)遄?牛奶蜜棗 泰國(guó)龍眼 還有更多美食在橙心生鮮驛站等您! 微信:18853978383
    狼行l(wèi)ove橙心閱讀 267評(píng)論 0 0