Postman功能:
- 主要用於模擬網絡請求包
- 快速創建請求
- 回放、管理請求
- 快速設置網絡代理
我們看下界面:

一
接口請求流程:
二
postman使用
從流程圖中我們可以看出,一個接口請求需要設置:請求URL,請求方法,請求頭,請求參數。同樣的,在postman中,我們也只需要設置這四項即可完成一次請求。
GET請求示例
說明:GET請求的參數在URL鏈接上,所以,GET請求的請求頭與請求參數如在接口文檔中無特別聲明時,可以不填。
GET響應示例
說明:特別標注出了響應HTTP狀態碼與響應正文,還有請求的耗時。需特別注意的是注意區別HTTP狀態碼與響應正文中的狀態碼,只有HTTP狀態碼是200時,才代表這個接口請求是正確的,這個是HTTP協議定義的,而響應正文的狀態碼,是程序員自已定義的,可以是200,也可以定義為其它值,是為了讓接口使用者去區分正常數據與異常數據,比如:

POST請求示例一
POST表單提交,先看下圖POST表單提交示例:
上圖示例中設置了請求方法,請求URL,請求參數,但沒有設置請求頭。有一個要明確的點是,請求頭中的Content-Type與請求參數的格式之間是有關聯關系的:
當選擇x-www-form-urlencoded的參數方式后,postman自動的幫我們設置了Content-Type,所以不需要我們人工干預,這就是使用一款流行工具的好處,把一些基礎點都幫我們處理了。
POST請求示例二
JSON串提交,如下圖示例:
上圖中,當我們選擇了JSON(application/json)時,postman同樣幫我們自動設置了Content-Type,可以自行的去查看一個Headers.
POST請求示例三
HTTP的POST請求的參數,都是放在請求正文中的,只是根據Content-Type來判斷請求正文的格式,那么我們同樣可以在表單提交時,選擇raw,然后自行設置Content-Type為application/x-www-form-urlencoded。
postman斷言
一個完整的接口測試,包括:請求->獲取響應正文->斷言,我們已經知道了請求與獲取響應正文,接下來將會告訴大家如何用postman進行斷言。
這個”Tests”就是我們需要處理斷言的地方,postman很人性化的幫我們把斷言所用的函數全給准備好了:
雖然都是英文,但看懂應該並不懂。OK,英文看着煩,不想看,是吧,那好,我們來設置一個斷言場景,根據這個斷言場景,來教大家如何來用postman的斷言,場景如下:
1. 判斷HTTP返回狀態碼為200
2. 判斷響應正文中是否包含:"statusCode":200
3. 解析響應正文,並判斷statusCode的值是200,message的值是”Success.”
在SNIPPETS中,往下拉,有一項”Status code:Code is 200”,這個就是為場景中的第一條准備的,就是判斷HTTP返回狀態碼是否為200。點擊這一項,可以看到在其左邊出現了:
解釋一下這句代碼的意思:
tests["Status code is 200"]中的tests是一個內置對象,tests["Status code is 200"]是指為這個斷言起個名稱叫”Status code is 200”,這個名稱可以自行修改。
responseCode.code === 200 中的responseCode是內置對象,responseCode對象中有個屬性是code,是指HTTP狀態碼的code,判斷code是否為200.
綜合起來,這句代碼的意思是:名稱為”Status code is 200”的斷言中,判斷responseCode對象的code屬性值是否為200。
同樣在SNIPPETS中,找到一項”Response body:Contains string”,顧名思義,這條就是為場景中的第二條准備的,點擊后,在其左邊出現了:
我們需要修改一下:
場景中的第三條,很顯然,我們需要解析JSON串了,所以,在SNIPPETS中找到”Response body:JSON value check”並點擊,在其左邊出現了:

我們可以看出,這里面其實是JS代碼,jsonData變量其實是解析完JSON后的對象,在JS中,一個JSON對象獲取其屬性的值,直接是用jsonData.value,於是,我們把代碼給修改一下:
這樣一來,我們可以看到一共有tests的斷言4個,點擊Send,發送請求,在響應區內可以看到如下圖:
表示我們的斷言全部通過。
SNIPPETS中還有很多的函數提供給我們了,大家可以自行去體驗一番。師父領進門,修行靠個人!努力吧,測試君!
postman的基本使用,已經跟大家講了,並收到了一些反饋,希望能講講postman如何一次運行多個接口請求。歪果仁的技術思想不得不佩服,想用者之所想,把管理用例與運行用例集成在了一起。讓我們一起去歪果仁的技術思想中浪里個浪去吧!
管理用例---Collections
Collections,集合。也就是將多個接口請求可以放在一起,並管理起來。什么樣的接口請求可以放在同一個collection里?在這里告訴大家可以這樣:一個工程一個Collection,這樣方便查找及統一處理數據。也可以這樣理解:collection即工程。
