基于場景化的monkey實踐

? ? 最近在做一些monkey壓力測試的改進工作郊供,網(wǎng)上也有一些修改Monkey源碼的分享抵乓,寫得挺好的,我不一一贅述阎抒。這里介紹我對于monkey源碼修改的一些實踐,并一一給大家介紹我所說的基于場景化的monkey壓力測試消痛。

? ? 熟悉monkey的同學或多或少地知道這個工具的優(yōu)點且叁,這里我關注monkey的某些缺點,比如:無法識別控件秩伞,無法判斷被測對象出現(xiàn)異常后如何處理等逞带,除了這些,其實對于一些只提供服務的應用纱新,比如微信小程序展氓,這種快應用越來越普及,而這種應用我們無法直接通過monkey去啟動測試脸爱,其中微信類似于提供了小程序的一個服務平臺遇汞,此時有同學會說,我啟動微信簿废,然后再點擊小程序入口不就可以進去了嗎空入?是,這種方法是可以族檬,但是我們要知道m(xù)onkey是隨機啟動應用的歪赢,因此會存在即使我們點擊進入了小程序,但是很快又會回到微信界面单料,然后有可能再也無法進入到我們想進行monkey壓力測試的特定小程序埋凯。

? ? 要想能滿足特定的測試需求,必須對于monkey源碼進行改造扫尖。monkey源碼的改造還是有比較多的案例念链,包含自帶截圖衬浑、防止禁止網(wǎng)絡等狂鞋。而這里我講的主要是為了滿足場景化測試做的一些改進菇存,范圍限制于類似于小程序的接口測試,測試對象是對外提供接口或者組件的服務應用狰域。咋一聽媳拴,感覺monkey這種隨機構(gòu)造事件的工具跟場景化測試毫無關聯(lián)。何為場景化呢兆览?我的理解就是根據(jù)一定的屈溉、有目的地構(gòu)造測試條件或者背景,同時這些條件或者背景是符合實際用戶使用的抬探。那么針對開放出去的接口或者組件如何進行場景化構(gòu)建從而為monkey壓力測試提供測試對象呢子巾?在我們的實踐過程中主要采取兩種方式:一種來源于已經(jīng)開發(fā)商用的成型的應用帆赢,這類應用已經(jīng)被用于一定商業(yè)目的開發(fā)出來的,其實已經(jīng)滿足上面提到的要求线梗,第二種就是針對接口的分析椰于,測試同學人為對接口和組件進行組合后開發(fā)出成型的應用,達到盡可能多的覆蓋所有接口仪搔。這些測試對象梳理出來后瘾婿,我們就可以進行下一步monkey源碼改造了。

? 上面講了那么多烤咧,其實也已經(jīng)初步說明了本次實踐的主要目的:1偏陪、讓monkey能主動去進入我們指定的小程序 2、當monkey發(fā)送intent消息去啟動另外一個應用時能主動再跳回到原有的小程序繼續(xù)執(zhí)行monkey事件煮嫌。那么如何做到這些呢笛谦?在runMonkeyCycles循環(huán)函數(shù)里增加一個判斷分支,當發(fā)現(xiàn)小程序進程未啟動或者小程序存在崩潰了昌阿,主動拉起小程序饥脑,那如何拉起小程序呢?這里我比較簡單得做了一個處理懦冰,即通過appium去事先獲取到小程序入口的坐標傳給monkey好啰。然后在MonkeyActivity.java文件里使用intent啟動另外應用的時候進行判斷,判斷intent消息里compnent中packeagename是否是另外一個應用的包名?若是儿奶,則再重新拉起小程序,若不是鳄抒,那就不處理闯捎。同時為了讓monkey操作過程中可以進行內(nèi)存泄露和實時截圖,這里再引入另外兩個工具:procrank和minicap许溅。這兩個工具不在monkey里引用瓤鼻,而是通過python腳本,使用啟用三個線程贤重,分別執(zhí)行monkey命令茬祷、使用procrank進行內(nèi)存監(jiān)控、使用minicap工具進行實時截圖并蝗。

? ? 通過上述幾個過程祭犯,我們就可以更精確地保證monkey事件的有效執(zhí)行,從而實現(xiàn)monkey的場景化壓力測試滚停。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沃粗,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子键畴,更是在濱河造成了極大的恐慌最盅,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異涡贱,居然都是意外死亡咏删,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門问词,熙熙樓的掌柜王于貴愁眉苦臉地迎上來督函,“玉大人,你說我怎么就攤上這事戏售∏群耍” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵灌灾,是天一觀的道長搓译。 經(jīng)常有香客問我,道長锋喜,這世上最難降的妖魔是什么些己? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮嘿般,結(jié)果婚禮上段标,老公的妹妹穿的比我還像新娘。我一直安慰自己炉奴,他們只是感情好逼庞,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瞻赶,像睡著了一般赛糟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上砸逊,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天璧南,我揣著相機與錄音,去河邊找鬼师逸。 笑死司倚,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的篓像。 我是一名探鬼主播动知,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼员辩!你這毒婦竟也來了拍柒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤屈暗,失蹤者是張志新(化名)和其女友劉穎拆讯,沒想到半個月后脂男,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡种呐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年宰翅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爽室。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡汁讼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阔墩,到底是詐尸還是另有隱情嘿架,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布啸箫,位于F島的核電站耸彪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏忘苛。R本人自食惡果不足惜蝉娜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扎唾。 院中可真熱鬧召川,春花似錦、人聲如沸胸遇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纸镊。三九已至倍阐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間薄腻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工届案, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庵楷,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓楣颠,卻偏偏與公主長得像尽纽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子童漩,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

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

  • 1弄贿、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,982評論 3 119
  • 世界上的事,有兩個方向矫膨,一個是看運氣差凹,一個是靠技術期奔。 人們所從事的活動,其中“運氣”這個因素所占的權重各不相同危尿,但...
    大人黃桃閱讀 201評論 0 0
  • 如果你是一朵白云,那么我愿意成為一片藍天济欢。 如果你是一個黑字赠堵,那么我愿意成為一張白紙。 如果你是一只木舟法褥,那么我愿...
    北海有南風閱讀 99評論 0 2
  • 半倚窗扉立茫叭,村莊入眼漆。 亭臺人鼎沸挖胃, 暑熱褪羅衣杂靶。 注:新韻
    幽小窗閱讀 641評論 78 44
  • 你說你很喜歡民謠,特別是趙雷的歌酱鸭,你說他的歌詞像是再說你吗垮,每個歌詞都那么現(xiàn)實,那么迷茫 你說你還喜歡騎車凹髓,而且那是...
    sup夢閱讀 366評論 0 2