接口自動(dòng)化測(cè)試系列 (一) :APIAutoTest框架介紹

前言

隨著測(cè)試技術(shù)的發(fā)展朵锣,接口自動(dòng)化測(cè)試逐漸成為各大公司投入產(chǎn)出比最高的測(cè)試技術(shù)谬盐。介入時(shí)間早,執(zhí)行效率高诚些,穩(wěn)定性高的優(yōu)點(diǎn)飞傀,讓越來(lái)越多的公司引入接口自動(dòng)化測(cè)試。

框架簡(jiǎn)介

APIAutoTest是處理API接口的輕量級(jí)自動(dòng)化測(cè)試框架,Java語(yǔ)言實(shí)現(xiàn)砸烦,基于TestNG測(cè)試框架犀被,支持持續(xù)集成,自動(dòng)構(gòu)建與測(cè)試外冀。

框架特點(diǎn)

  1. 數(shù)據(jù)驅(qū)動(dòng)設(shè)計(jì),使用TestNG中的@DataProvider讀取Excel中存儲(chǔ)的自動(dòng)化測(cè)試用例西轩。
  2. 基于TestNG測(cè)試框架
  3. 使用HttpClient發(fā)送Http請(qǐng)求,并統(tǒng)一接口response返回值為String
  4. 使用fastJson和Jsoup進(jìn)行數(shù)據(jù)解析庄拇,由于請(qǐng)求返回值的統(tǒng)一,解析數(shù)據(jù)異常方便辜御,方便接入不同接口類型的數(shù)據(jù)
  5. 獨(dú)立封裝的檢查點(diǎn)“Jsonpath”檢查點(diǎn),極大方便檢查點(diǎn)的設(shè)置
  6. 在線報(bào)告以及Email報(bào)告
  7. 持續(xù)集成碳抄、持續(xù)交付、自動(dòng)構(gòu)建與測(cè)試

框架技術(shù)棧圖

接口自動(dòng)化框架圖.png

框架組件圖

APIAutoTest組件圖.png
  • Maven進(jìn)行項(xiàng)目、依賴管理
  • HttpClient進(jìn)行通信
  • TestNG測(cè)試框架管理測(cè)試腳本以及測(cè)試驅(qū)動(dòng)
  • FastJson/Jsoup用于數(shù)據(jù)解析
  • AssertJ用于檢查點(diǎn)設(shè)置
  • ExtentReports輸出具備圖表分析的報(bào)告
  • SVN+Jenkins實(shí)現(xiàn)持續(xù)集成

框架執(zhí)行流程圖

APIAutoTest執(zhí)行流程圖.png

測(cè)試執(zhí)行的流程(代碼層):

  • 測(cè)試執(zhí)行的入口為TestNG的XML文件,通過(guò)讀取xml文件中的執(zhí)行配置信息哼拔,
  • 獲取測(cè)試用例的腳本,測(cè)試用例執(zhí)行分為測(cè)試前(@BeforeTest)檬姥,測(cè)試中(@Test),測(cè)試后(@AfterTest)
  • @BeforeTest:獲取/解析測(cè)試數(shù)據(jù)(Excel文件),接口關(guān)聯(lián)參數(shù)化崇堵,Cookie裝載等
  • @Test:初始化httpclient對(duì)象幸逆,執(zhí)行請(qǐng)求楚昭,獲取響應(yīng)并轉(zhuǎn)換成String等
  • @AfterTest:jsonpath檢查點(diǎn)昔案,對(duì)于接口正確/錯(cuò)誤請(qǐng)求的邏輯處理
  • 生成在線ExtentReports報(bào)告/日志
  • Email報(bào)告,測(cè)試結(jié)果通知測(cè)試相關(guān)人員

測(cè)試用例設(shè)計(jì)

測(cè)試數(shù)據(jù).png

測(cè)試用例設(shè)計(jì):

  • 通過(guò)TestNG的@DataProvider獲取Excel測(cè)試數(shù)據(jù)
  • 將數(shù)據(jù)的表頭與數(shù)據(jù)存儲(chǔ)在map中,具體使用時(shí)方便
  • jsonpathPoint:jsonpath檢查點(diǎn),框架特點(diǎn)之一,極大的方便斷言的編寫(xiě)
  • 前后綴的使用:通過(guò)前后綴使用來(lái)區(qū)分統(tǒng)一作用的數(shù)據(jù),如請(qǐng)求參數(shù):params
  • 是否運(yùn)行/檢查控制:通過(guò)編寫(xiě)測(cè)試用例時(shí)就可以控制該用例是否運(yùn)行,是否檢查
  • 不足之處:一個(gè)接口的測(cè)試數(shù)據(jù)對(duì)應(yīng)一個(gè)Excel文件/Sheet表,后期數(shù)據(jù)量太大

測(cè)試報(bào)告

report.png

結(jié)語(yǔ)

接口自動(dòng)化測(cè)試在這個(gè)追求效率的時(shí)代,逐漸的取代UI自動(dòng)化測(cè)試橙垢,而做接口自動(dòng)化測(cè)試的工具很多垛叨,比如soapUI嗽元,postman,jmeter等等剂癌,但是這些通用的工具的可擴(kuò)展性以及跟項(xiàng)目的契合度上并不是十分合適。框架的作用在于使測(cè)試腳本編寫(xiě)變得簡(jiǎn)單,增強(qiáng)測(cè)試腳本的可維護(hù)性五垮,容錯(cuò)率等放仗,提高測(cè)試腳本的編寫(xiě)效率润绎,從而提高測(cè)試效率。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末惶傻,一起剝皮案震驚了整個(gè)濱河市棍郎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌银室,老刑警劉巖涂佃,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蜈敢,居然都是意外死亡辜荠,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門抓狭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)伯病,“玉大人,你說(shuō)我怎么就攤上這事否过∥绲眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵苗桂,是天一觀的道長(zhǎng)药磺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)誉察,這世上最難降的妖魔是什么与涡? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮持偏,結(jié)果婚禮上驼卖,老公的妹妹穿的比我還像新娘。我一直安慰自己鸿秆,他們只是感情好酌畜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著卿叽,像睡著了一般桥胞。 火紅的嫁衣襯著肌膚如雪恳守。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,215評(píng)論 1 299
  • 那天贩虾,我揣著相機(jī)與錄音催烘,去河邊找鬼。 笑死缎罢,一個(gè)胖子當(dāng)著我的面吹牛伊群,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播策精,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼舰始,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了咽袜?” 一聲冷哼從身側(cè)響起丸卷,我...
    開(kāi)封第一講書(shū)人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎询刹,沒(méi)想到半個(gè)月后谜嫉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡范抓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年骄恶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匕垫。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡僧鲁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出象泵,到底是詐尸還是另有隱情寞秃,我是刑警寧澤,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布偶惠,位于F島的核電站春寿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏忽孽。R本人自食惡果不足惜绑改,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兄一。 院中可真熱鬧厘线,春花似錦、人聲如沸出革。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骂束。三九已至耳璧,卻和暖如春成箫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旨枯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工蹬昌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人召廷。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓凳厢,卻偏偏與公主長(zhǎng)得像账胧,于是被迫代替她去往敵國(guó)和親竞慢。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

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

  • 前言 前段時(shí)間的工作中有接觸到接口測(cè)試治泥,測(cè)試代碼以maven工程的形式編寫(xiě)筹煮,使用testNG測(cè)試框架。工作中居夹,每次...
    Ivanlfli閱讀 3,893評(píng)論 7 24
  • 1.測(cè)試與軟件模型 軟件開(kāi)發(fā)生命周期模型指的是軟件開(kāi)發(fā)全過(guò)程败潦、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開(kāi)發(fā)包括:需求准脂、設(shè)...
    宇文臭臭閱讀 6,723評(píng)論 5 100
  • 感謝原作者的奉獻(xiàn)劫扒,原作者博客地址:http://blog.csdn.net/zhu_ai_xin_520/arti...
    狼孩閱讀 14,042評(píng)論 1 35
  • 文章來(lái)自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,192評(píng)論 2 126
  • 近也不見(jiàn) 遠(yuǎn)也不見(jiàn) 惟其如此 眉目才現(xiàn) 輕輕的捧起 卻是清水漣漪 輕輕的,我站起 恰似一抹微笑 淡淡的狸膏,映在心底
    賽義德的爹閱讀 137評(píng)論 0 1