一、介紹
postman是接口調試工具,發送幾乎所有類型的HTTP請求,有兩種應用形式,pc端和chrome插件,以chrome插件形式可以通過Chrome的應用商店進行搜索並安裝(不過官方已經在2017年宣布不在維護chrome版本,官方推薦安裝pc端。
二、安裝
官網下載地址:https://www.getpostman.com/apps
postman教程:https://www.jellythink.com/tool-tutorials/postman/
postman視頻教程:https://www.bilibili.com/video/BV134411v7Sj?p=4
postman主界面
請求區域介紹

1 Authorization:身份驗證,主要用來填寫用戶名密碼,以及一些驗簽字段,postman有一個helpers可以幫助我們簡化一些重復和復雜的任務。當前的一套helpers可以幫助你解決一些authentication protocols的問題。;
2 Headers:請求的頭部信息
3 Body:post請求時必須要帶的參數,里面放一些key-value鍵值對
4 Pre-requerst Script:可以讓你在 請求之前自定義請求數據,這個運行在請求之前,語法使用JavaScript語句。
5 tests:tests標簽功能比較強大,通常用來寫測試,它是運行在請求之后。支持JavaScript語法。postman每次執行request的時候,會執行tests。測試結果會在tests的tab上面顯示一個通過的數量以及對錯情況。這個后面會進行詳解,它也可以用來設計用例,比如要測試返回結果是否含有某一字符串
6 form-data:,它將表單數據處理為一條消息,以標簽為單元,用分隔符分開。既可以單獨上傳鍵值對,也可以直接上傳文件(當上傳字段是文件時,會有Content-Type來說明文件類型,但該文件不會作為歷史保存,只能在每次需要發送請求的時候,重新添加文件。);post請求里較常用的一種

7 x-www-form-urlencoded:對應信息頭-application/x-www-from-urlencoded,會將表單內的數據轉換為鍵值對;
8 raw:可以上傳任意類型的文本,比如text、json、xml等,所有填寫的text都會隨着請求發送;
9 binary:對應信息頭-Content-Type:application/octet-stream,只能上傳二進制文件,且沒有鍵值對,一次只能上傳一個文件, 也不能保存歷史,每次選擇文件,提交;
三、接口測試流程
1.獲取接口信息:可以通過接口文檔或者瀏覽器抓包獲取接口基本調用方式和返回。
2.接口測試用例設計:根據獲取到的接口信息、按照接口測試用例設計方法,設計參數和預期返回結果。
3.接口發包:使用工具或者編程向接口傳遞參數。
4.返回信息驗證:獲取接口返回的結果,進行解析和驗證。
四、請求
1.新建測試集、文件夾、請求用例
Postman測試管理的單位是測試集(Collections),測試集內可以創建文件夾(Folder)和具體的請求(Requests)。首先點擊左邊欄上面的添加目錄圖標來新增一個測試集(collections),這樣就等於新建了一個項目,我們可以把一個項目或一個模塊的用例都存放在這個集中;然后在測試集之下我們還可以再建立文件夾(folder)來進行功能用例的細分(點擊用例集右側的--選擇“Add Folder”完成文件夾的創建)。
創建了項目目錄后我們就可以新建用例了,具體是點擊右側區域的+號來新增一個空用例的模板,也可以通過復制一個已有用例來達到新建一個用例的目的。
2、添加請求信息
http接口請求:接口url、請求方法、請求頭、請求參數四個必需設置的選項。
用例建好了請求內容還是空的,我們首先需要添加相應的請求信息,這部分的操作都在右側的信息區域,一般流程如下:
(1)選擇一個請求方法,如:get或post
(2)填寫請求的url,如:http://www.baidu.com
(3)如果是get則請求參數則以鍵值對添加當參數中,url會自動補全,如果是post則請求添加在body中。
(4)點擊“send”發送請求
(5)查看請求響應內容
3、授權Authorization
下面講解幾種常用的認證方式。
No Auth,默認選中,不需要認證;
Bearer Toker,填寫Token進行驗證;
Basic Auth,基礎身份認證,輸入用戶名和密碼,直接明文發送數據,點擊Preview Request按鈕或直接send,會自動在Headers中生成authorization header.
Digest Auth,摘要認證。消息摘要式身份認證是在基本身份認證上面擴展了安全性,服務器為每一個連接生成一個唯一的隨機數,客戶端用這個隨機數對密碼進行MD5加密,然后返回服務器,服務器也用這個隨機數對密碼進行加密,然后和客戶端傳送過來的加密數據進行比較,如果一致就返回結果
客戶端請求資源->服務器返回認證標示->客戶端發送認證信息->服務器查驗認證
OAuth 2.0,一個開放授權協議。支持獲得OAuth 2.0 token並添加到requests中。
4、添加頭信息
有些時候請求時還需要一些特定的頭信息,postman同樣可以完美支持,直接點擊Headers標簽就可以進行請求頭的信息設置
5.發送請求,查看請求結果
五、其他
1、關於變量
Postman中有Global(全局)、Enviroment(環境)、Local(局部)、Data(數據)四種變量,優先級從高至低為:Data ---- > Local ---- > Enviroment ---- > Global。
變量在postman中的使用為{{variableName}},當postman解析變量時,字符串{{variableName}}會被替換為相應的值。
舉個栗子:在一個環境變量中url的值被定義為http://www.baidu.com; 然后使用{{url}}為地主進行訪問,結果依然是訪問的http://www.baidu.com。
2、導出用例為代碼
Postman還有一個棒棒的地方就是導出用例為CODE,即如果你編寫好了用例之后可以通過點擊屏幕右側的【Code】來一鍵生成代碼,並且還有好多語言和類庫可以選擇。
3、批量執行用例
接下來介紹POSTMAN的批量執行功能,這個功能由單獨的runner來負責,我們需要在另外的界面進行操作,具體如下:
依次點擊上面的按鈕就會出現runer界面,如下直接點擊最下面的“run 測試集名字”就好了。
4、環境配置
最后上一個比較好用的功能,大家都知道我們的測試環境往往會有多套,那怎么辦呢,我們不能這個環境用例寫完,然后再另外一個環境重新來一次吧?顯然這種辦法很不招人喜歡,可喜的是偉大的postman早就想到了這個問題。postman提供了環境變量的設置以滿足不同測試環境的需求,如圖,選擇右上角工具圖標,進入 Management Environments,點擊Add新增環境(點擊環境名稱可以再次進行編輯)。以例子來說,我們創建了兩個環境,分別給兩個環境的url配置不同的地址,再使用的時候根據環境的切換,url的值就會發生變化,這樣就達到了地址切換的效果。