目錄:
使用 Postman 進(jìn)行接口測(cè)試(入門)
本篇主要描述環(huán)境和請(qǐng)求頭文件的設(shè)置惭每,對(duì)響應(yīng)結(jié)果做斷言,以及簡(jiǎn)單的對(duì)接口壓測(cè)
一、環(huán)境設(shè)置
通常開(kāi)發(fā)有自己的環(huán)境掂咒,測(cè)試也有專門的測(cè)試環(huán)境,另外還有生產(chǎn)環(huán)境迈喉,預(yù)發(fā)環(huán)境绍刮,不同環(huán)境測(cè)試中就需要重復(fù)維護(hù)數(shù)據(jù),現(xiàn)在有更簡(jiǎn)便的方法挨摸,只需維護(hù)下環(huán)境變量孩革,配置IP和端口信息,請(qǐng)求時(shí)直接引用得运,運(yùn)行時(shí)只需直接切換即可
Postman里面獲取變量的語(yǔ)法為:{{變量名}}
如{{testip}}是引用的testip的值膝蜈,{{testport}}是引用的testport的值
(各環(huán)境的key可以一樣锅移,這樣用例中也不需要修改,直接切換環(huán)境就可以了)
執(zhí)行單個(gè)用例:
一定要記得在右上角切換環(huán)境
批量執(zhí)行用例
該功能由單獨(dú)的Runner來(lái)負(fù)責(zé)的饱搏,點(diǎn)擊【Run】會(huì)彈出新界面非剃,從而進(jìn)行操作
如下圖,請(qǐng)求并發(fā)5次推沸,延時(shí)2ms备绽,運(yùn)行后顯示結(jié)果,這里我們只看到了請(qǐng)求是OK的鬓催,響應(yīng)碼是200肺素,還有請(qǐng)求時(shí)間,由于未維護(hù)用例的預(yù)期結(jié)果宇驾,所以PASSED和FAILED都顯示為0
頭文件設(shè)置
設(shè)置斷言
批量運(yùn)行用例后倍靡,如果每個(gè)請(qǐng)求都點(diǎn)擊進(jìn)去查看一下是否返回?cái)?shù)據(jù)正確,那太費(fèi)時(shí)了课舍,所以就有了斷言的設(shè)置塌西,postman中的斷言是在tests中設(shè)置
格式:tests["Body matches string"] = responseBody.has("string_you_want_to_search");
方法一:直接從右側(cè)的模板中雙擊想要的斷言
按照具體的測(cè)試要求,對(duì)這些生成的代碼進(jìn)行一些小修改就可以了
方法二:自己寫代碼判斷
var jsonData = JSON.parse(responseBody);
tests["銀行卡號(hào)"] = jsonData.return_value.storeBank.bankNo === "6222031302000787983"
常見(jiàn)斷言 | 對(duì)應(yīng)腳本 |
---|---|
判斷狀態(tài)碼 | tests["接口請(qǐng)求成功"] = responseCode.code === 200; |
對(duì)key的值進(jìn)行校驗(yàn) | tests["銀行卡號(hào)"] = jsonData.return_value.storeBank.bankNo === "6222031302000787983" |
response body等于指定字符串 | tests["Body is correct"] = responseBody === "response_body_string"; |
response包含字符串 | tests["Body matches string"] = responseBody.has("string_you_want_to_search"); |
注意:用Postman進(jìn)行壓力測(cè)試只能以文件夾的方式執(zhí)行多個(gè)接口筝尾,不能單獨(dú)執(zhí)行雨让,如果想要針對(duì)某一個(gè)接口壓測(cè),那么就為這個(gè)接口單獨(dú)建一個(gè)文件夾