Postman接口測試工具是一款專為調試網頁和API而設計的軟件。Postman工具以前還有一個谷歌瀏覽器插件版,可惜現在無法使用了。因此,現在大家只能安裝Postman客戶端來進行調試工作。這是一個綠色漢化版,使用教程可以在內容中找到詳細介紹。Postman官方簡介將其稱為一款商業化的接口測試軟件。
軟件功能
模擬各種HTTPrequests
從常用的GET、POST到RESTful的PUT、DELETE…等等。甚至還可以發送文件、送出額外的header。
內置測試腳本語言
支持編寫測試腳本,可以快速的檢查request的結果,并返回測試結果
Collection功能(測試集合)
通過collection的歸類,我們可以良好的分類測試軟件所提供的API.而且Collection還可以Import或是Share出來,讓團隊里面的所有人共享你建立起來的Collection。
人性化的Response整理
一般在用其他工具來測試的時候,response的內容通常都是純文字的raw,但如果是JSON,就是塞成一整行的JSON。這會造成閱讀的障礙,而Postman可以針對response內容的格式自動美化。JSON、XML或是HTML都會整理成我們可以閱讀的格式
設定變量與環境
Postman可以自由設定變量與Environment,一般我們在編輯request,校驗response的時候,總會需要重復輸入某些字符,比如url,允許我們設定變量來保存這些值。并且把變量保存在不同的環境中。

安裝方法
在本站下載postman插件后,打開chrome擴展程序管理頁面,復制chrome://extensions/粘貼到瀏覽器地址欄,然后按回車鍵提交,會打開一個名叫 【擴展程序】的窗口。將下載的postman插件crx格式文件拖放進去就可以了。
第一種:添加過程成功后,在地址欄輸入:“chrome://apps”,就可以看到插件圖標了
第二種:打開chrome的設置--更多程序---擴展程序,找到插件點擊啟動即可。

常見問題
問:為什么支持Postman Chrome應用程序已被棄用?
答:原來早在2016年Google就宣布計劃終止對Windows,Mac和Linux用戶的Chrome應用程序支持。 但是這項計劃的具體實施時間是2018年,這意味著,從2018年初開始,Postman Chrome應用程序的支持即將消失。 這2年的過渡期就是給開發者時間去開發相應的應用程序。
問:postman工具怎樣傳遞csrf參數,csrf 參數是在 header 里嗎?
答:Postman 由于是 Chrome 擴展的緣故能支持的 header 不多,需要安裝 Postman Interceptor才能自定義 header 字段。右上角那個衛星圖標就是 Interceptor。
postman使用教程
postman接口測試教程
1.數據(變量)
postman的數據包括全局變量,環境變量,外部文件和局部變量
全局變量:作用域是全局,比如我們要設置的token
環境變量:配置之后,讓測試用例既能夠在測試環境中執行,也能在正式環境中執行
局部變量:比如tests中定義的變量,作用域只能在這個tests中
外部文件變量:在run collections的時候可以設置循環次數,指定外部數據文件。外部文件可以是csv格式的,也可以是json格式的。
Json data 文件格式:

csv data 文件格式

變量優先級:外部文件變量> 環境變量> 全局變量,也就是說,在變量名相同的情況下,外部文件的變量優先級最高
變量的定義
方法1:在postman的ui上進行定義

方法2:使用腳本定義

變量的使用
方式1:Builder中的使用:{{varname}}
方式2:腳本中的使用

變量的沖突
如果Global和environment都設置了一個名字相同的變量,environment的變量會將global的覆蓋
2.sandbox
sandbox可以理解為一個測試沙箱,專門用來postman執行js代碼的環境,可以通過js腳本來編寫pre-request和tests腳本
sandbox沙箱集成了幾個工具庫,比如loadsh,tv4等,還有一些內置函數,比如xml2JSON等
sandbox可以操作的對象
公共庫
環境變量和全局變量
動態變量
操作cookie
獲取和查看請求和響應
讀取數據文件
pre-request 可以用來修改一些默認參數或者設置一些測試需要的測試永久,tests可以用來做斷言

關于更多tests操作,可以查看幫助文檔
同時postman還有一個叫SNIPPETS的模塊,里面防止了常用的一些test斷言,直接點擊就可以使用了,如果這里沒有你需要的,可以查看幫助文檔

3.collections
集合的功能
組織業務邏輯:分類和存儲你的測試用例
導入導出:導入測試用例文件進行runner,導出json文件,使用newman在命令行執行(導入導出的collections就只是collections,不包含環境變量等),導出的時候記得勾選V2版本的格式,也是官方建議
一鍵運行測試用例:你可以選擇你要運行的collection或者里面的文件夾進行運行
share:share一個link,然后將這個link分享給其他人,或者用于newman執行測試
4.collections run

建議:
delay:不能為0,每個接口之間都應該加入一個delay
數據文件:可以是json格式的,也可以是csv格式的,官方建議json,更快

5.newman
newman是一個命令行工具,可以用于將我們的接口測試用例在命令行運行并生成測試報告(測試報告多種多樣)
為什么要在命令行里面運行
可以在無界面的服務器上運行我們的測試用例
可以在CI持續集成系統上運行
運行準備
導出collection
安裝nodejs和npm,可能安裝npm不好安裝,我們使用cnpm來進行安裝,百度搜索一下cnpm 淘寶源
安裝newman(nodejs寫的一個小應用)

newman可以生成多種測試報告
GIL reporter:控制臺輸出
json reporter:可以放到mongdb中做持久化
html reporter:方便發送郵件
junit reporter:可以無縫集成到jenkins,有一個插件可以把junit reporter自動解析,并放到jenkins里面,也就是可以直接在界面中使用了

# 運行postman生成的collection的url,使用env.json作為環境變量,globals.json作為全局變量,并使用外部的data.csv作為外部數據,最后設置了接口請求超時時間為5s
newman run https://www.getpostman.com/collections/cb0cea0af1467c8008fb --environment env.json --iteration-data data.csv --globals globals.json
# 運行postman導出的collection的json文件,并生成多種測試報告
newman run c:\test1.json --reporters cli,html,json,junit --reporter-json-export jsonOut.json --reporter-junit-export xmlOut.xml --reporter-html-export htmlOut.html
6.集成到jenkins
首先,下載jenkins的war包,使用java -jar jenkins.war --httpPort=8080啟動,配置jenkins完成
第一步:新建job
第二步:添加構建步驟,你自己決定輸入什么,我這里指定newman執行某個文件件下的json文件,并以junit的報告形式輸出到當前工作目錄

第三步:添加構建后的操作并保存
講newman生成的junit格式的report整合進jenkins的junit report插件中,可以更好的隊報告進行展示

第四步:點擊手動構建(當然這里你可以根據項目需要設置自動構建時間,比如每天晚上的12點鐘執行構建)

第五步:查看構建結果

7.其他
get請求的參數怎么填寫:可以直接在url中構建,也可以單獨點擊params進行構建
post方法傳遞json格式的數據:首先設置headers,Content-Type = application/json,然后將json串寫入raw的body模式下
post方法傳遞form格式的數據:首先設置headers:application/x-www-form-urlencoded,body選擇form-data或者x-www-form-urlencoded,至于是哪種,可以都試一下,肯定是其中之一
auth:常用的有basic auth和OAuth2.0,如果是basic auth,直接輸入用戶名和密碼就可以了,如果是OAuth2.0,有兩種方法,第一,找開發拿token,設置token,方法2,登錄的時候獲取token,然后每次訪問豆漿token放在headers里面就可以了
調試:postman中有一個叫postman console的工具,該工具可以在我們寫Script的時候使用,通過console.log("this is demo")輸出數據到console中
參考help文檔:https://www.getpostman.com/docs/