前言:
本文分為上下兩篇滞项,講述如何使用Postman來進(jìn)行接口測試缝呕,從第一個接口測試到后面慢慢進(jìn)階,最終達(dá)到熟練使用Postman的程度暑始,可以極大程度地提高工作效率哦~~
下載地址:https://www.postman.com/downloads/
一廓握、第一個接口
① URL表單格式請求
請求方式:Post
Post請求格式:application/x-www-form-urlencoded
響應(yīng)格式:application/json
參數(shù)名稱 | 參數(shù)類型 | 是否必填 |
---|---|---|
phone | 文本 | 是 |
areaCode | 文本 | 是 |
verifyCode | 文本 | 是 |
② JSON格式請求
請求方式:Post
Post請求格式:application/json
響應(yīng)格式:application/json
參數(shù)名稱 | 參數(shù)類型 | 是否必填 |
---|---|---|
pageSize | integer | 非必須 |
pageNum | integer | 非必須 |
③ 跑一次批量
操作步驟:
1搅窿、點(diǎn)擊 ①(New Collection)創(chuàng)建一個包括用戶和新增訂單接口的collection
2、點(diǎn)擊 ②(小箭頭)彈出新窗口
3隙券、點(diǎn)擊 ③(Run)可跳轉(zhuǎn)至 Collection Runner
操作步驟:
1男应、確認(rèn)Collection里的接口是否正確
2、確認(rèn)環(huán)境(Environment)是不是自己等下要跑的娱仔,然后確定要跑的次數(shù)(Iterations)
3沐飘、勾選需要跑的接口
4、點(diǎn)擊 Run 按鈕牲迫,跑起來~
說一下:
1耐朴、0 passed 和 0 failed 指的是斷言結(jié)果的成功和失敗數(shù),這里沒有做斷言恩溅,因此都是0隔箍;
2、綠色方塊代表接口跑通啦~
3脚乡、這頁面不僅是用來跑批量,需要同時(shí)跑幾個接口也可以用哦
說一下:
1滨达、沒寫斷言也可以看執(zhí)行結(jié)果是否符合預(yù)期奶稠;
2、點(diǎn)擊接口彈出菜單捡遍,可以根據(jù) Response Body 來判斷結(jié)果是否符合預(yù)期锌订。
二、設(shè)置變量
目的:可以在不同的環(huán)境下画株,跑相同的接口辆飘,或者在不同的接口里啦辐,使用相同的參數(shù)值
設(shè)置方式主要有:
· 設(shè)置全局變量
· 設(shè)置環(huán)境變量
· Tests設(shè)置變量
① 全局變量
1、點(diǎn)擊該按鈕進(jìn)入設(shè)置變量頁面
2蜈项、點(diǎn)擊Globals進(jìn)入全局變量設(shè)置頁面
3芹关、設(shè)置成功后點(diǎn)擊Save保存
4、點(diǎn)擊小眼睛就可以看到剛剛設(shè)置好的全局變量了
下面說兩句:
1紧卒、全局變量應(yīng)用于全局侥衬,包括collection和單接口;
2跑芳、collection里的變量的取名不要重復(fù)轴总,postman會優(yōu)先使用全局。
② 環(huán)境變量
1博个、點(diǎn)擊 Add 按鈕可以配置不同的環(huán)境怀樟,中英文均可
2、點(diǎn)擊下拉菜單可以隨便切換自己去需要的環(huán)境
③ Tests設(shè)置變量
通過Tests盆佣,先把接口的返回結(jié)果設(shè)置成環(huán)境變量漂佩,然后后續(xù)接口就可以通過環(huán)境變量的值進(jìn)行關(guān)聯(lián),來看看操作步驟吧~
1罪塔、正式環(huán)境里還沒有任何變量
2投蝉、Tests 設(shè)置斷言
//獲取響應(yīng)數(shù)據(jù)json對象
//使用var關(guān)鍵詞,定義一個變量Data征堪,用來接收接口的返回結(jié)果
var Data = pm.response.json();
//從響應(yīng)數(shù)據(jù)提取出sid
var test = Data.sid;
//設(shè)置sid
pm.environment.set("sid",test);
3瘩缆、執(zhí)行之后可以看到正式環(huán)境里拿到了登錄接口的sid了
三、Tests斷言
· Response body:Contains string(校驗(yàn)返回結(jié)果中是否包含某個字符)
· Response body:Is equal to a string(校驗(yàn)返回結(jié)果是否等于該字符串)
· Response body:Json value check(校驗(yàn)返回結(jié)果中某個字段值是否等于某個值)
· Response header:Contet-type header check(校驗(yàn)響應(yīng)頭是否包含某個值)
· Response time is less than 200ms(校驗(yàn)返回結(jié)果是否少于200ms)
· Status code:Code is 200(狀態(tài)碼是否等于200)
① 常用斷言
Response body:Contains string:
1佃蚜、先執(zhí)行一遍接口庸娱,看看能否跑通;
2谐算、Tests 頁點(diǎn)擊其中一個斷言熟尉;
3、Body matches string 里填匹配后返回的字符串洲脂;string_you_want_to_search 里填需要匹配的字符串斤儿;
4、如果輸入的字段不存在于接口里恐锦,則會報(bào)錯往果。
Response body:Json value check:
1、需要修改的地方有兩個一铅,value 和 eql(100)陕贮;
2、確保需要匹配的字段名和字符串與接口內(nèi)容一致潘飘;
3肮之、執(zhí)行后查看結(jié)果掉缺。
Response body:Contains string:
1、要檢查的響應(yīng)頭指的是頭部信息戈擒,而不是里面的值眶明;
2、響應(yīng)頭的信息必須與接口顯示的一致才會斷言成功峦甩。
3赘来、沒有舉例的斷言用法都差不多,就不贅述了哈~