newman执行测试_postman+newman+Jenkins之API全自动化测试(MAC)
求star!!!
求star!!!
求star!!!
名詞解釋
主要用于模擬網(wǎng)絡(luò)請(qǐng)求包
快速創(chuàng)建請(qǐng)求
回放、管理請(qǐng)求
快速設(shè)置網(wǎng)絡(luò)代理
newman是postman的命令行指令,允許我們?cè)诿钚兄羞\(yùn)行postman collection.
Jenkins是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。
準(zhǔn)備工作
安裝postman
沒有太多注意事項(xiàng),直接[官網(wǎng)下載](https://www.getpostman.com/downloads/),然后安裝
安裝newman
必須選安裝node和npm
$ npm install -g newman
$ newman -v
安裝jenkins
postman的使用與導(dǎo)出
下面以網(wǎng)易云音樂登錄,然后用接口返回的userId獲取用戶信息為例
創(chuàng)建test文件夾
定義環(huán)境,并設(shè)置變量
登錄
先增加兩個(gè)變量:phone和password
接下來便可以使用這幾個(gè)變量了
填好url,點(diǎn)擊send,如下圖,請(qǐng)求成功
cmd+s保存這個(gè)請(qǐng)求到test文件夾,取名為login
獲取用戶信息
保存userId到變量
var data = JSON.parse(responseBody);
if (data.code === 200) {
tests["login api"] = true;
pm.environment.set("userId", data.profile.userId);
}
else {
tests["login api"] = false;
}
點(diǎn)擊send后,我們可以看到userId被保存到變量中了
開始獲取用戶信息,這里為了演示更復(fù)雜點(diǎn)的功能,我們?cè)趆eader里加個(gè)時(shí)間戳吧
timestamp = new Date();
postman.setGlobalVariable("timestamp",timestamp);
var data = JSON.parse(responseBody);
if (data.code === 200) {
tests["userDetail api"] = true;
}
else {
tests["userDetail api"] = false;
}
cmd+s保存這個(gè)請(qǐng)求到test文件夾,取名為userDetail
執(zhí)行test文件夾中所有的請(qǐng)求
之后看到如下界面,點(diǎn)擊run test
導(dǎo)出test文件和環(huán)境變量文件
導(dǎo)出請(qǐng)求文件
導(dǎo)出環(huán)境變量文件
jenkins配置
新建任務(wù)
填寫任務(wù)信息
配置
// 注意這里的PATH要改成你的npm的路徑,否則找不到newman命令
export PATH=/Users/isaacho/.tnvm/versions/alinode/v3.11.4/bin:$PATH
newman run /Users/isaacho/Documents/test.postman_collection.json -e /Users/isaacho/Documents/test.postman_environment.json
build
到這里已經(jīng)大功告成了!!!
可能遇到的問題
build失敗,提示找不到命令
那請(qǐng)注意你的PATH是否正確
build沒有權(quán)限
jenkins用戶沒有讀寫postman_collection.json和postman_environment.json的權(quán)限,可以給jenkins修改文件夾的權(quán)限
參考資料
總結(jié)
以上是生活随笔為你收集整理的newman执行测试_postman+newman+Jenkins之API全自动化测试(MAC)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 花草中毒期
- 下一篇: TLS--线程局部存储