? ?做接口測試的話简僧,首先要考慮的是如何選擇一個(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腳本的效果如下:????????????????????????????????????????????????????????????????????????????????????????????? 2少漆、安裝Newman npm install -g newman 以上通過命令安裝如果問題的話 ,可以百度解決痹束。 命令行執(zhí)行Postman腳本生成測試報(bào)告 1检疫、命令行執(zhí)行腳本的最基本的命令 newman run?xxx.json?tar xvJf ***.tar.xz
echo "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\"" \ >> ~/.bash_profile &&
source ~/.bash_profile
--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 $WORKSPACE
newman 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)告:
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