下文將進一步說明Postman的使用,會涉及到分類策菜、關(guān)聯(lián)參數(shù)靴拱、批量執(zhí)行等相關(guān)的功能內(nèi)容。對于postman的下一步的使用垃你,是通過postman完成接口自動化回歸驗證或者通過幾個接口串聯(lián)實現(xiàn)一個小功能(如自動創(chuàng)建用戶并給用戶賦權(quán)椅文、充值等等,達到一鍵執(zhí)行后即可把和用戶相關(guān)的所有設(shè)置都完成)惜颇,這一流程大概分如下步驟:
一皆刺、創(chuàng)建文件夾,分類管理請求凌摄,方便后面統(tǒng)一運行
二羡蛾、創(chuàng)建環(huán)境變量,方便切換不同環(huán)境執(zhí)行
三锨亏、整理請求痴怨,請求存儲到文件夾中
四、使用變量器予,動態(tài)適應(yīng)
五浪藻、響應(yīng)參數(shù)斷言并設(shè)置自定義參數(shù)變量
六、完成運行乾翔,查看斷言結(jié)果
下面我們一步步詳細介紹
批量執(zhí)行
說明:多個請求包在一個文件夾下面爱葵,按照文件夾為單位進行批量執(zhí)行
1.點擊“new?Collections”,新建一個分類
2.保存請求到剛才新建的分類中
Request name為該請求顯示的名稱
Request description為備注說明
Select a collection or folder to save to則表示要存放的分類
3.展開反浓,選擇要批量運行的分類
頂部會顯示當(dāng)前處于哪一級萌丈,停留在哪一級,點擊運行則會彈出運行的單獨窗口
4.運行界面
左上角可以看到該分類下的所有子集和請求
請求下方則是相關(guān)運行設(shè)置(沒有特殊要求雷则,默認就可以)
設(shè)置下方的按鈕則是開始按鈕
右方是歷史批量執(zhí)行的結(jié)果
環(huán)境變量的使用
1.右上的設(shè)置按鈕點開新增環(huán)境變量配置
2.創(chuàng)建分類辆雾,統(tǒng)一歸類變量,后續(xù)要直接應(yīng)用該分類
3.分類中創(chuàng)建變量
4.應(yīng)用并使用該分類的環(huán)境變量值
環(huán)境變量和一般的自定義變量使用表達式一樣月劈,地址欄度迂、headers藤乙、body等都支持變量
使用表達式:{{變量名}}
自定義變量和系統(tǒng)變量的使用
說明:在動態(tài)設(shè)置自定義變量時英岭,一般都對相應(yīng)參數(shù)有一定的處理湾盒,需要有一點js代碼的概念
1.固定自定義變量
可以通過設(shè)置旁邊的眼睛按鈕打開變量頁面,進行新增變量
2.動態(tài)自定義變量(Tests模塊中編寫诅妹,不是body模塊里面)
pm.globals.set("getList_roleBids_bid", jsonData_ary.bid);
pm
globals全局變量(environment為環(huán)境變量罚勾,更高一級)
set寫入
括號里面的引號表示自定義變量名稱
括號里面的第二個參數(shù)表示具體的變量值
斷言
說明:通過在Tests模塊中編寫代碼,用于判斷該請求的響應(yīng)參數(shù)是否符合預(yù)期吭狡。Tests模塊是代碼編寫區(qū)尖殃,可以設(shè)置斷言和變量賦值等,腳本以js為基礎(chǔ)
附加說明
使用變量:{{變量名}}
postman中隨機數(shù):{{$randomInt}}
postman中時間戳:{{$timestamp}}
//打印
console.log(變量名);
//獲取接口響應(yīng)code判斷是否為200
tests["Status code is 200"] = responseCode.code === 200;
//存儲相應(yīng)參數(shù)
var jsonResponse =JSON.parse(responseBody);
//從存儲的響應(yīng)內(nèi)容中獲取code值是否為200
tests["response code"]=jsonResponse.code===200;
//存儲響應(yīng)參數(shù)中data的參數(shù)值
var jsonData = jsonResponse.data;
//存儲響應(yīng)參數(shù)中的custom參數(shù)值
var jsonCustoms = jsonData.custom;
//存儲custom參數(shù)值下面的第一個下標(biāo)值
var jsoncustom = jsonCustoms[0];
// 設(shè)置局部變量參數(shù)值
pm.environment.set("merchantWorklib_bid", jsoncustom.bid);
//M5加密
var strmd5 = CryptoJS.MD5(變量名);?
//生成格式化時間
var moment = require('moment');
var data = moment().format(" YYYYMMDDHHmmss");
pm.globals.set("局部變量名",變量名);