Postman+Newman+Git+Jenkins實(shí)現(xiàn)接口自動(dòng)化測試持續(xù)集成

接口測試腳本一般的執(zhí)行流程

? ?做接口測試的話简僧,首先要考慮的是如何選擇一個(gè)合適的工具王凑?在忽略工具是否好用,是否能滿足業(yè)務(wù)要求的前提下世分,需要考慮一下2點(diǎn):

1编振、要考慮工具的學(xué)習(xí)成本

2、要考慮團(tuán)隊(duì)的協(xié)作

 接口測試腳本的執(zhí)行流程:

團(tuán)隊(duì)成員協(xié)作編寫接口用例->用例歸檔到git/svn->腳本集成jenkins,在環(huán)境更新后自動(dòng)觸發(fā)執(zhí)行或定時(shí)執(zhí)行臭埋。

Postman工具常見的接口測試流程是怎樣的踪央? 使用Postman+Newman+Git+Jenkins+釘釘/郵件提醒? ? ? ? ? ? ? ???????????????????????????????????????????????????????????????????????????????????????????? Windows系統(tǒng)Newman安裝 1、下載Node.js進(jìn)行安裝瓢阴,然后配置node的環(huán)境變量???????????????????????????????????????????????? 2畅蹂、借助npm工具,安裝Newman npm install -g newman 3荣恐、運(yùn)行Newman 通過Newman來運(yùn)行某個(gè)postman腳本: newman run? mycollection.json 用newman執(zhí)行postman腳本的效果如下:

Centos系統(tǒng)Newman安裝 1液斜、先下載安裝nodejs?(必須安裝10.0以上的版本 從http://nodejs.cn/download/下載linux系統(tǒng)壓縮包?,,解壓叠穆,配置環(huán)境變量? ??
tar xvJf ***.tar.xzecho "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\"" \ >> ~/.bash_profile &&source ~/.bash_profile
????????????????????????????????????????????????????????????????????????????????????????????? 2少漆、安裝Newman npm install -g newman 以上通過命令安裝如果問題的話 ,可以百度解決痹束。 命令行執(zhí)行Postman腳本生成測試報(bào)告 1检疫、命令行執(zhí)行腳本的最基本的命令 newman run?xxx.json?

2、生成html格式的報(bào)告 先安裝插件:npm install -g newman-reporter-html newman?run?demo.postman_collection.json -r html?

3祷嘶、優(yōu)化報(bào)告顯示格式屎媳,生成美觀一點(diǎn)的html格式報(bào)告 先安裝插件:npm install -g newman-reporter-htmlextra newman?run?demo.postman_collection.json -r htmlextra

注意事項(xiàng): 1夺溢、-r參數(shù)是--reporters的縮寫,可以在參數(shù)后面指定需要生成的報(bào)告格式 烛谊,比如?-r html,junit,json,htmlextra ?风响,這個(gè)會(huì)在當(dāng)前目錄下生成一個(gè)newman的文件夾,報(bào)告都在newman的文件夾下面:

2丹禀、也可以加上下面的參數(shù)指定報(bào)告名稱:(報(bào)告默認(rèn)生成在當(dāng)前執(zhí)行命令的路徑下 状勤,也可以自己在報(bào)告名稱前加上指定路徑生成)

--reporter-html-export htmlReport.html?

--reporter-htmlextra-export htmlExtraReport.html?

--reporter-junit-export junitReport.html?

--reporter-json-export jsonReport.html?

3、在使用npm命令安裝newman以及其他的包時(shí)双泪,建議都加上-g 參數(shù) 持搜,給所有用戶都安裝對(duì)應(yīng)的包,避免在使用命令時(shí)報(bào)錯(cuò)焙矛。 使用npm安裝如果比較慢葫盼,可以先執(zhí)行下面的命令,切換下載源的地址:

npm config set registry https://registry.npm.taobao.org

4村斟、通過newman-reporter-htmlextra插件生成的html報(bào)告贫导,默認(rèn)是不包含css樣式文件的揍瑟,如果是發(fā)給別人訪問 卖宠,在斷網(wǎng)的情況下查看報(bào)告,樣式是加載不了的碉怔。目前查了一下逾滥,好像沒有類似allure里面的那種參數(shù)峰档,可以把報(bào)告所需的樣式和報(bào)告一起導(dǎo)出,不過這個(gè)插件支持自定義報(bào)告模板匣距,可以自己手動(dòng)將css樣式文件導(dǎo)出到某個(gè)位置面哥,然后修改報(bào)告模板匯總引用的文件去解決這個(gè)問題。

Postman腳本持續(xù)集成

通過上面的描述 毅待,現(xiàn)在已經(jīng)可以將postman腳本生成報(bào)告了,離集成jenkins只差最后的配置工作了:

1归榕、在gitee上新建一個(gè)倉庫尸红,將postman調(diào)試好的腳本導(dǎo)出成json文件,上傳到gitee上?(上傳到gitee倉庫的話刹泄,可以方便團(tuán)隊(duì)不同成員之間可以更改和查看用例)外里,后續(xù)有腳本變更的時(shí)候也可以直接更新到git上進(jìn)行存儲(chǔ),git上也可以按版本按分支存放你的測試腳本

2特石、搭建好jenkins環(huán)境盅蝗,并配置好npm的環(huán)境以及安裝好newman執(zhí)行環(huán)境

3、新建一個(gè)自由風(fēng)格的job姆蘸,配置從git上獲取腳本:

勾選構(gòu)建環(huán)境下的清除工作空間目錄的配置墩莫,將之前的報(bào)告清除(如果執(zhí)行命令生成報(bào)告時(shí)自己指定了報(bào)告名稱的話 芙委,也可以不清除工作空間的文件)

添加執(zhí)行batch命令 / shell命令,命令內(nèi)容如下:

# batch命令cd /d  %WORKSPACE%newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html 或者#?shell?命令cd $WORKSPACEnewman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html

然后再構(gòu)建后操作那里 ,添加報(bào)告的展示:

需安裝HTML Publisher plugin插件

構(gòu)建后 狂秦,即可在jenkins上看到HTML報(bào)告:

發(fā)送釘釘通知 由于現(xiàn)在很多企業(yè)辦公通訊都是用釘釘 灌侣,那么接口自動(dòng)化的腳本執(zhí)行完之后,是可以講結(jié)果發(fā)送到指定的釘釘群里面的裂问。 準(zhǔn)備工作:釘釘帳號(hào)侧啼,在釘釘上創(chuàng)建指定機(jī)器人 ,jenkins上安裝DingTalk插件堪簿。 釘釘PC端機(jī)器人創(chuàng)建操作: 釘釘左上角用戶頭像處->機(jī)器人管理->創(chuàng)建自定義機(jī)器人

設(shè)置機(jī)器人名稱痊乾、指定消息通知的群、安全設(shè)置下可以設(shè)置自定義關(guān)鍵字椭更,然后點(diǎn)擊完成符喝,然后頁面會(huì)生成一個(gè)webhook的地址

安裝Jenkins上的DingTalk插件,進(jìn)入系統(tǒng)配置頁面甜孤,找到釘釘?shù)呐渲茫?

然后進(jìn)入postman腳本執(zhí)行的job配置頁面协饲,勾選需要通知的機(jī)器人名稱即可。

構(gòu)建開始和結(jié)束后就會(huì)收到釘釘通知:

解決jenkins上無法展示HTML樣式的問題 由于安全考慮缴川,jenkins默認(rèn)是禁止了外部的css和js的加載的茉稠,因此html報(bào)告顯示會(huì)出現(xiàn)異常,常見的解決方案有以下幾種: 1把夸、在jenkins系統(tǒng)管理->腳本命令行 輸入以下腳本運(yùn)行:(此方案重啟jenkins失效
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP",?"")
2而线、利用jenkins的插件,在啟動(dòng)節(jié)點(diǎn)的時(shí)候自動(dòng)觸發(fā)某個(gè)job去執(zhí)行g(shù)roovy腳本恋日。搜索安裝Startup Trigger和Groovy插件即可膀篮。 配置一個(gè)job,然后在job中執(zhí)行g(shù)roovy腳本:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP",?"")
3岂膳、以windows服務(wù)或者java -jar的方式啟動(dòng)的jenkins誓竿,可以修改jenkin.xml文件中的啟動(dòng)命令,加入?yún)?shù)
-Dhudson.model.DirectoryBrowserSupport.CSP=

4谈截、用tomcat部署的jenkins筷屡,可以直接改catalina.bat文件,找到tomcat/bin下的catalina.bat文件,用Notepad++打開簸喂,加上一行代碼

set JAVA_OPTS="-Dhudson.model.DirectoryBrowserSupport.CSP"

擴(kuò)展學(xué)習(xí) 1毙死、newman的其他用法(比如執(zhí)行命令的時(shí)候加載環(huán)境變配置、設(shè)置執(zhí)行次數(shù)等): https://www.npmjs.com/package/newman ? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 2喻鳄、newman-reporter-htmlextra插件的其他用法(比如報(bào)告過濾數(shù)據(jù)扼倘,設(shè)置標(biāo)題等): https://www.npmjs.com/package/newman-reporter-htmlextra 3、釘釘通知在jenkins上的配置除呵,還可以指定具體通知的人等高級(jí)用法再菊,可以自己查資料擴(kuò)展一下.覺得釘釘插件提醒不好用的話爪喘,也可以自己寫腳本調(diào)用釘釘?shù)慕涌诎l(fā)送消息提醒。

往期推薦

Fiddler Everywhere v1.0.1版本基礎(chǔ)功能介紹

Facebook開源靜態(tài)代碼分析工具Infer介紹

Jenkins自動(dòng)部署測試環(huán)境之jar包部署

一篇文章為你揭秘pytest的基本用法

Jenkins介紹及環(huán)境搭建和目錄結(jié)構(gòu)介紹

Jenkins之系統(tǒng)管理下的各配置選項(xiàng)介紹

Jenkins教程之java代碼編譯袄简、打包腥放、代碼掃描

python高級(jí)用法之命名元組namedtuple

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者绿语。
  • 序言:七十年代末秃症,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吕粹,更是在濱河造成了極大的恐慌种柑,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匹耕,死亡現(xiàn)場離奇詭異聚请,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)稳其,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門驶赏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人既鞠,你說我怎么就攤上這事煤傍。” “怎么了嘱蛋?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵蚯姆,是天一觀的道長。 經(jīng)常有香客問我洒敏,道長龄恋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任凶伙,我火速辦了婚禮郭毕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘镊靴。我一直安慰自己铣卡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布偏竟。 她就那樣靜靜地躺著,像睡著了一般敞峭。 火紅的嫁衣襯著肌膚如雪踊谋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天旋讹,我揣著相機(jī)與錄音殖蚕,去河邊找鬼轿衔。 笑死,一個(gè)胖子當(dāng)著我的面吹牛睦疫,可吹牛的內(nèi)容都是我干的害驹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蛤育,長吁一口氣:“原來是場噩夢啊……” “哼宛官!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瓦糕,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤底洗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后咕娄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亥揖,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年圣勒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了费变。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡圣贸,死狀恐怖挚歧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情旁趟,我是刑警寧澤昼激,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站锡搜,受9級(jí)特大地震影響橙困,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耕餐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一凡傅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧肠缔,春花似錦夏跷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至趟妥,卻和暖如春猫态,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國打工亲雪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勇凭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓义辕,卻偏偏與公主長得像虾标,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子灌砖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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