Jenkins 集成 monkey

一猾漫、什么是持續(xù)集成?

(1)Continuous integration(CI)

   持續(xù)集成是一種軟件開發(fā)實(shí)踐运提,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作鳍寂,通常每個(gè)成員至少集成一次改含,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過自動(dòng)化的構(gòu)建(包括編譯迄汛,發(fā)布捍壤,自動(dòng)化測(cè)試)來驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤鞍爱。許多團(tuán)隊(duì)發(fā)現(xiàn)這個(gè)過程可以大大減少集成的問題鹃觉,讓團(tuán)隊(duì)能夠更快的開發(fā)內(nèi)聚的軟件。而jenkins就是持續(xù)集成其中的工具之一睹逃。

(2)monkey與Jenkins千絲萬縷

   身為一個(gè)測(cè)試人員我們最常用的集成工具就是jenkins了盗扇,而monkey這款工具我們也常常用來檢測(cè)做app的冒煙測(cè)試和穩(wěn)定性測(cè)試,如何我們將寫好的monkey的腳本與jenkins結(jié)合沉填,讓jenkins來管理我們的monkey的測(cè)試腳本疗隶,以及設(shè)定定時(shí)任務(wù),那我我們就可以在jenkins設(shè)置定時(shí)任務(wù)翼闹,自動(dòng)去檢驗(yàn)app的穩(wěn)定性抽减,自動(dòng)將錯(cuò)誤信息通過集成郵件的方式,發(fā)送給開發(fā)人員橄碾。這樣可以大大節(jié)省測(cè)試時(shí)間以及提高測(cè)試效率。

(3)在jenkins進(jìn)行真機(jī)的配置

很多情況下我們選擇真機(jī)做monkey測(cè)試颠锉,結(jié)果更加可靠法牲。下面,我們看一下如何用jenkins搭配真機(jī)進(jìn)行monkey測(cè)試琼掠。在配置jenkins之前拒垃,我們需要確保PC端已經(jīng)配置好了android adb的環(huán)境變量。

定時(shí)任務(wù)的設(shè)置

一瓷蛙、定時(shí)構(gòu)建語法

* * * * *

(五顆星悼瓮,中間用空格隔開)

第一顆*表示分鐘戈毒,取值0~59

第二顆*表示小時(shí),取值0~23

第三顆*表示一個(gè)月的第幾天横堡,取值1~31

第四顆*表示第幾月埋市,取值1~12

第五顆*表示一周中的第幾天,取值0~7命贴,其中0和7代表的都是周日

1.每30分鐘構(gòu)建一次:

H/30 * * * *

2.每2個(gè)小時(shí)構(gòu)建一次

H H/2 * * *

3.每天早上8點(diǎn)構(gòu)建一次

0 8 * * *

4.每天的8點(diǎn)道宅,12點(diǎn),22點(diǎn)胸蛛,一天構(gòu)建3次

0 8,12,22 * * *

在jenkins構(gòu)建的案例

參數(shù)化構(gòu)建

由于monkey測(cè)試需要進(jìn)行一系列參數(shù)配置污茵,所以我們可以在jenkins的General中配置一些構(gòu)建過程中需要使用的參數(shù)。例如葬项,monkey運(yùn)行的參數(shù)evencount,seed泞当,hrottle, pct-touch民珍, pct-motion 襟士,pct-appswitch ,pct-rotation都可以在此進(jìn)行輸入配置穷缤,可以更加靈活的控制monkey測(cè)試敌蜂。





構(gòu)建

采用真機(jī)進(jìn)行monkey測(cè)試,需要通過adb命令來啟動(dòng)monkey測(cè)試津肛。所以需要在構(gòu)建步驟中增加execute shell選項(xiàng)章喉。然后在選項(xiàng)中,添加執(zhí)行monkey測(cè)試的腳本身坐。腳本主要執(zhí)行兩項(xiàng)任務(wù)秸脱,首先將構(gòu)建的包安裝到手機(jī)端,然后啟動(dòng)monkey測(cè)試部蛇。腳本中可以使用前面配置的參數(shù)摊唇,這樣方便測(cè)試者依據(jù)不同的測(cè)試需求,構(gòu)建不同的測(cè)試任務(wù)涯鲁。

命令行執(zhí)行monkey測(cè)試巷查,基本語法:

adb shell monkey [options] <event-count>

event-count: 為必選參數(shù),用于指定monkey測(cè)試過程中模擬的用戶事件數(shù)量抹腿。

[options]主要參數(shù)如下

-p packageName :該參數(shù)指定需要執(zhí)行monkey測(cè)試的包名岛请。如果需要測(cè)試多個(gè)包,需要添加多個(gè)-p參數(shù)警绩,每個(gè)參數(shù)后帶一個(gè)包名崇败。

-s seed :該參數(shù)指定偽隨機(jī)生成器的seed值。

-v: 指定monkey測(cè)試結(jié)果中輸出log信息的詳細(xì)程度,總共分為三個(gè)級(jí)別后室。默認(rèn)級(jí)別是0:-v缩膝,測(cè)試結(jié)果中只包含啟動(dòng)信息,測(cè)試完成信息和最終結(jié)果信息岸霹。級(jí)別2:-v -v疾层,打印測(cè)試過程中執(zhí)行的一些信息,如模擬的用戶點(diǎn)擊事件松申。級(jí)別3:-v -v -v云芦,打印最詳細(xì)的信息。

--hprof:在事件序列前后立即生成profiliing? report?

--throttle milliseconds:指定monkey模擬事件的前后間隔時(shí)間贸桶。通過這個(gè)選項(xiàng)可以減緩monkey的執(zhí)行速度舅逸。如果不指定該選項(xiàng),monkey模擬事件將會(huì)持續(xù)執(zhí)行皇筛,事件間不會(huì)有停頓琉历。

<percent>--pct-touch:后面接觸摸事件百分比

<percent>--pct-motion:調(diào)整手勢(shì)事件百分比

<percent>--pct-appswitch:后面接應(yīng)用啟動(dòng)事件百分比

<percent>--pct-rotation 后面接屏幕旋轉(zhuǎn)事件的比例值

--ignore-crashes: 該參數(shù)指定monkey測(cè)試過程中是否忽略crash。如果設(shè)置了該參數(shù)水醋,測(cè)試過程中如果發(fā)生了crash旗笔,monkey測(cè)試會(huì)繼續(xù)執(zhí)行。否則測(cè)試過程中遇到crash拄踪,停止測(cè)試蝇恶。

--ignore-timeouts:該參數(shù)指定monkey測(cè)試過程中忽略ANR。如果測(cè)試過程中出現(xiàn)了ANR惶桐,將忽略此現(xiàn)象撮弧,繼續(xù)執(zhí)行monkey測(cè)試。

-ignore-security-exceptions:在設(shè)置此選項(xiàng)后姚糊,當(dāng)應(yīng)用程序發(fā)生任何權(quán)限錯(cuò)誤(如啟動(dòng)一個(gè)需要某些權(quán)限的Activity)時(shí)贿衍,monkey將繼續(xù)運(yùn)行直到計(jì)數(shù)完成。如果不設(shè)置此選項(xiàng)救恨,monkey遇到此類權(quán)限錯(cuò)誤將停止運(yùn)行贸辈。


測(cè)試小結(jié)

jenkins與monkey結(jié)合能大大提高了測(cè)試的效率,其實(shí)還可以結(jié)合python肠槽,來統(tǒng)計(jì)app內(nèi)存泄漏擎淤,耗電測(cè)試,cpu的利用率等等問題秸仙。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末揉燃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子筋栋,更是在濱河造成了極大的恐慌,老刑警劉巖正驻,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弊攘,死亡現(xiàn)場(chǎng)離奇詭異抢腐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)襟交,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門迈倍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捣域,你說我怎么就攤上這事啼染。” “怎么了焕梅?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵迹鹅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我贞言,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任锦针,我火速辦了婚禮拌消,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酗失。我一直安慰自己义钉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布规肴。 她就那樣靜靜地躺著捶闸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奏纪。 梳的紋絲不亂的頭發(fā)上鉴嗤,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音序调,去河邊找鬼醉锅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛发绢,可吹牛的內(nèi)容都是我干的硬耍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼边酒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼经柴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起墩朦,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤坯认,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牛哺,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陋气,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了引润。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩趁。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖淳附,靈堂內(nèi)的尸體忽然破棺而出议慰,到底是詐尸還是另有隱情,我是刑警寧澤奴曙,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布别凹,位于F島的核電站,受9級(jí)特大地震影響缆毁,放射性物質(zhì)發(fā)生泄漏番川。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一脊框、第九天 我趴在偏房一處隱蔽的房頂上張望颁督。 院中可真熱鬧,春花似錦浇雹、人聲如沸沉御。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吠裆。三九已至,卻和暖如春烂完,著一層夾襖步出監(jiān)牢的瞬間试疙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工抠蚣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留祝旷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓嘶窄,卻偏偏與公主長(zhǎng)得像怀跛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柄冲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

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