前言
Newman是一個(gè)基于nodejs語言的命令行工具蔬充,主要用于執(zhí)行Postman 的collection亭罪,基于這個(gè)命令行工具弧蝇,可以定時(shí)執(zhí)行腳本歧沪,然后執(zhí)行結(jié)果民泵,判斷要測試的接口是否正常,如果出現(xiàn)錯(cuò)誤槽畔,則可以進(jìn)行告警。
一胁编、環(huán)境搭建
nemman --version
npm outdated -g 查看過期版本
npm install -g newman@4.0.0 安裝指定版本
npm install -g newman 安裝最新版本
二厢钧、測試用例準(zhǔn)備
在postman新建collection鳞尔,增加接口;使用JavaScript添加斷言測試早直。
三寥假、通訊的3種方式,重點(diǎn)使用第三種
1霞扬、訪問鏈接:也支持通過 url 作為參數(shù)來運(yùn)行
newman run?https://www.getpostman.com/collections/xxxx
2糕韧、訪問下載文件:支持本地 json 文件作為參數(shù)來運(yùn)行
json 文件可以從 Postman 導(dǎo)出,選定某個(gè) collection喻圃,你可以輕易的導(dǎo)出你的 Postman Collection 另外存儲(chǔ)為一個(gè) json 文件萤彩,然后放到你本地目錄進(jìn)行運(yùn)行
newman? run "Passing Postman collection.postman_collection.json"
3、通過API和collection通訊
1)點(diǎn)擊:Using Newman with the Postman API:https://www.postman.com/integrations/#postman-integrations
2)獲取Generate an API key:https://documenter.getpostman.com/view/631643/JsLs/?_ga=2.141691378.1765402775.1606981807-2062058568.1606981807
3)執(zhí)行接口雀扶,通過API keys獲取該賬戶下collection的信息,獲取collection對應(yīng)的uid:https://api.getpostman.com/collections?apikey=xxx
將所需要的collection 的id記錄下來(每個(gè)collection的uid不一樣):
用uid 取到collection的鏈接肆汹,訪問鏈接:https://api.getpostman.com/collections/$uid?apikey=$apiKey
進(jìn)入終端愚墓,使用api執(zhí)行collection
newman runhttps://api.getpostman.com/collections/xxxxx?apikey=PMAK-xxxxx
環(huán)境變量配置
把環(huán)境變量下載在當(dāng)前目錄
? ? ? ? ? 1)導(dǎo)出環(huán)境變量昂勉,進(jìn)入路徑下執(zhí)行Newman? ?
newman run? https://api.getpostman.com/collections/xxx?apikey=PMAK-xxx--environment "XX.postman_environment.json"?
? ? ? ? ? 2)使用api抓取到浪册,獲取apikey下的所有環(huán)境變量
https://api.getpostman.com/environments?apikey=PMAK-xxxx
三、持續(xù)集成
1村象、Jenkins搭建,并確保Jenkins所在服務(wù)器已安裝npm煞肾、node和newman
2、啟動(dòng)并訪問Jenkins
? ? ? ? ? 1)查找jar包路徑:mdfind -name jenkins.war
? ? ? ? ? 2)進(jìn)入路徑下嗓袱,修改端口號執(zhí)行啟動(dòng):java -jar jenkins.war --ajp13Port=-1 --httpPort=8081
? ? ? ? ? 3) 啟動(dòng)后訪問鏈接:http://localhost:8081/
3籍救、配置執(zhí)行腳本
4、生成測試報(bào)告
腳本命令拼接報(bào)告命令
newman run "https://api.getpostman.com/collections/xxx?apikey=PMAK-xxx" --environment "https://api.getpostman.com/environments/xxx?apikey=PMAK-xxx"? --reporters cli,junit --reporter-junit-export "newman/report.xml"
5渠抹、Jenkins配置測試報(bào)告路徑,識別顯示
6奇颠、配置HTML報(bào)告。