Postman介紹
Postman是google開發(fā)的一款功能強大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁HTTP請求,并能運行測試用例的的Chrome插件。其主要功能包括:
模擬各種HTTP requests
從常用的 GET、POST 到 RESTful 的 PUT 、 DELETE …等等。 甚至還可以發(fā)送文件、送出額外的 header。
Collection 功能(測試集合)
Collection 是 requests的集合,在做完一個測試的時候, 你可以把這次的 request 存到特定的 Collection 里面,如此一來,下次要做同樣的測試時,就不需要重新輸入。而且一個collection可以包含多條request,如果我們把一個request當(dāng)成一個test case,那collection就可以看成是一個test suite。通過collection的歸類,我們可以良好的分類測試軟件所提供的API.而且 Collection 還可以 Import 或是 Share 出來,讓團(tuán)隊里面的所有人共享你建立起來的 Collection。
人性化的Response整理
一般在用其他工具來測試的時候,response的內(nèi)容通常都是純文字的 raw, 但如果是 JSON ,就是塞成一整行的 JSON。這會造成閱讀的障礙 ,而 Postman 可以針對response內(nèi)容的格式自動美化。 JSON、 XML 或是 HTML 都會整理成我們可以閱讀的格式
內(nèi)置測試腳本語言
Postman支持編寫測試腳本,可以快速的檢查request的結(jié)果,并返回測試結(jié)果
設(shè)定變量與環(huán)境
Postman 可以自由 設(shè)定變量與Environment,一般我們在編輯request,校驗response的時候,總會需要重復(fù)輸入某些字符,比如url,postman允許我們設(shè)定變量來保存這些值。并且把變量保存在不同的環(huán)境中。比如,我們可能會有多種環(huán)境, development 、 staging 或 local, 而這幾種環(huán)境中的 request URL 也各不相同,但我們可以在不同的環(huán)境中設(shè)定同樣的變量,只是變量的值不一樣,這樣我們就不用修改我們的測試腳本,而測試不同的環(huán)境。
優(yōu)點:
1、支持用例管理
2、支持get、post、文件上傳、響應(yīng)驗證、變量管理、環(huán)境參數(shù)管理等功能
3、支持批量運行
4、支持用例導(dǎo)出、導(dǎo)入
5、支持云端保存用例【付費用戶】
可以說POSTMAN滿足了HTTP接口測試的大部分功能,只有少部分的功能不被支持,比如:請求流程的控制;前面說了這么多,接下來我們就看看POSTMAN的安裝與使用吧。
1、安裝Postman
Postman作為一個chrome的插件,你可以打開chrome,在chrome webstore里面找到。當(dāng)然,如果是在國內(nèi),你需要翻墻,否則的話,你只能百度一下,搜索postman的安裝包自己安裝到chrome上(這里就不贅述了,有很多類似的文章)。這里需要提一下的是,你可以不用打開chrome而直接使用Postman,具體的方法是:
選項->更多工具->擴展程序

詳細(xì)信息->創(chuàng)建快捷方式->‘全部勾上’ ,這樣你就可以在任何地方啟動你的Postman了
這里也可以直接一鍵安裝postman,與谷歌插件使用一樣
Postman sending requests
安裝好之后,我們先打開Postman,可以看到界面分成左右兩個部分,右邊是我們后頭要講的collection,左邊是現(xiàn)在要講的request builder。在request builder中,我們可以通過Postman快速的隨意組裝出我們希望的request。一般來說,所有的HTTP Request都分成4個部分,URL, method, headers和body。而Postman針對這幾部分都有針對性的工具。

2、新建一個項目
直接點擊左邊欄上面的添加目錄圖標(biāo)來新增一個根目錄,這樣就等于新建了一個項目,我們可以把一個項目或一個模塊的用例都存放在這個目錄之下,并且在根目錄之下我們還可以在建立子目錄來進(jìn)行功能用例的細(xì)分,具體見下圖。

新增一個用例
創(chuàng)建了項目目錄后我們就可以新建用例了,具體是點擊右側(cè)區(qū)域的+號來新增一個空用例的模板,也可以通過復(fù)制一個已有用例來達(dá)到新建一個用例的目的,2種方法見下:

3、添加請求信息
新建的用例請求內(nèi)容為空,我們需要添加相應(yīng)的請求信息,這部分的操作都在右側(cè)的信息區(qū)域,一般流程如下:
選擇一個請求方法,如:get或post
填寫請求的url,如:http://www.baidu.com
如果是get則請求參數(shù)直接寫在url后,用?連接
如果是post則請求添加在body中
點擊“send”發(fā)送請求
查看請求響應(yīng)內(nèi)容

4、post請求參數(shù)
post請求的主要的特點是把請求數(shù)據(jù)放在body中,而非url后
那我們就需要編輯Request Body,Postman根據(jù)body type的不同,提供了4中編輯方式:
form-data
x-www-form-urlencoded
raw
binary

上面的樣例是post方式傳輸普通參數(shù),如果我們需要發(fā)送帶文件的請求時,就要改下請求格式了,具體如下:

注意上面標(biāo)紅框的內(nèi)容,都是必須要對應(yīng)上。
5、添加頭信息
有些時候請求時還需要一些特定的頭信息,postman同樣可以完美的支持,直接點擊Headers標(biāo)簽就可以進(jìn)行請求頭的信息設(shè)置

6、預(yù)處理和結(jié)果檢查
預(yù)處理主要是對一些環(huán)境變量之類的進(jìn)行設(shè)置,相當(dāng)于數(shù)據(jù)初始化;如圖:

響應(yīng)處理就是對響應(yīng)結(jié)果進(jìn)行分析和驗證,比如檢查code是不是200,內(nèi)容是不是等于具體某個值,是否包含特定的值等等。

因為預(yù)處理和結(jié)果檢查都是使用js作為腳本語言,所以你還可以進(jìn)行任意的js可以實現(xiàn)的場景,來輔助測試。
7、全局變量與環(huán)境變量
全局變量我們可以自己在預(yù)處理和結(jié)果處理2個腳本環(huán)境里進(jìn)行賦值,在具體的測試數(shù)據(jù)里我們就可以直接使用,具體的使用方法是為:{{variable_key}};比如你在腳本中可以設(shè)置全局變量:

那么在用例數(shù)據(jù)項里面我就可以這樣使用,{{username}},用來代表具體的tester值,具體見下圖

而環(huán)境變量的設(shè)置可使用與全局變量基本一樣,只是環(huán)境變量我們還有另外一個入口可以進(jìn)行設(shè)置,那就是環(huán)境配置管理中,我們可以預(yù)先建立若干和與環(huán)境相關(guān)的一套變量,根據(jù)實際的測試需求在執(zhí)行前選擇對應(yīng)的環(huán)境變量模板,這樣可以快速切換測試服務(wù)器與線上服務(wù)器之前的環(huán)境差異。比如:配置2套環(huán)境變量模板,一套url是測試環(huán)境,另一套為線上環(huán)境,根據(jù)測試對象不同我們選擇不同的環(huán)境變量模板就行了,而不再需要修改測試數(shù)據(jù)中的url了。

上面我們就把請求的host提取出來,然后在不同環(huán)境變量模板里使用不同的url值,后面我們就可以通過選擇不同的環(huán)境變量模板來進(jìn)行對應(yīng)的請求測試
8、導(dǎo)出用例為代碼
POSTMAN還有一個很贊的地方就是導(dǎo)出用例為CODE,即如果你編寫好了用例之后可以通過點擊“Generate?Code”來一鍵生成代碼,并且還有好多語言和類庫可以選擇,幀的是棒棒噠!

9、批量執(zhí)行用例
最后我們再來看看POSTMAN的批量執(zhí)行功能,這個功能由單獨的runner來負(fù)責(zé)的,我們需要在另外的界面進(jìn)行操作,具體如下:

依次點擊上面的按鈕就會出現(xiàn)runer界面,如下直接點擊“Start Test”即可
