Postman 使用指南
來源 https://juejin.im/post/6844903974160580622
Postman
Postman是一個可擴展的API開發和測試協同平台工具,可以快速集成到CI/CD管道中。旨在簡化測試和開發中的API工作流。
Postman 工具有 Chrome 擴展和獨立客戶端,推薦安裝獨立客戶端。
Postman 有個 workspace 的概念,workspace 分 personal 和 team 類型。Personal workspace 只能自己查看的 API,Team workspace 可添加成員和設置成員權限,成員之間可共同管理 API。
當然我個人使用一般是不登錄的,因為登錄之后會自動將你的測試歷史數據保存到賬戶里,你可以登陸網頁端進行查看。 因為API的很多數據是很敏感的,有的含有Token,或者就是一些私密信息,雖然Postman自己也強調說這樣很安全,不會私下窺探用戶的信息之類的,但是呢還是至少做一點有效的防范吧,自己不上傳,因為網絡並沒有絕對的安全。 所以我每次測試之后會將數據(Case)保存在本地,下次使用或者換設備的情況下將數據拷貝過來又可以繼續使用了。
下面正式開始介紹如何使用Postman吧。
為什么選擇Postman?
如今,Postman的開發者已超過1000萬(來自官網),選擇使用Postman的原因如下:
簡單易用 - 要使用Postman,你只需登錄自己的賬戶,只要在電腦上安裝了Postman應用程序,就可以方便地隨時隨地訪問文件。
使用集合 - Postman允許用戶為他們的API調用創建集合。每個集合可以創建子文件夾和多個請求。這有助於組織測試結構。
多人協作 - 可以導入或導出集合和環境,從而方便共享文件。直接使用鏈接還可以用於共享集合。
創建環境 - 創建多個環境有助於減少測試重復(DEV/QA/STG/UAT/PROD),因為可以為不同的環境使用相同的集合。這是參數化發生的地方,將在后續介紹。
創建測試 - 測試檢查點(如驗證HTTP響應狀態是否成功)可以添加到每個API調用中,這有助於確保測試覆蓋率。
自動化測試 - 通過使用集合Runner或Newman,可以在多個迭代中運行測試,節省了重復測試的時間。
調試 - Postman控制台有助於檢查已檢索到的數據,從而易於調試測試。 持續集成——通過其支持持續集成的能力,可以維護開發實踐。
如何下載安裝Postman?
Step 1) 官網主頁:www.postman.com/downloads/, 下載所需版本進行安裝即可。

Step3)在Workspace選擇你要使用的工具並點擊“Save My Preferences”保存。
如何使用Postman?
下圖是Postman的工作區間,各個模塊功能的介紹如下:
1、New,在這里創建新的請求、集合或環境;還可以創建更高級的文檔、Mock Server 和 Monitor以及API。
2、Import,這用於導入集合或環境。有一些選項,例如從文件,文件夾導入,鏈接或粘貼原始文本。
3、Runner,可以通過Collection Runner執行自動化測試。后續介紹。
4、Open New,打開一個新的標簽,Postman窗口或Runner窗口。
5、My Workspace - 可以單獨或以團隊的形式創建新的工作區。
6、Invite - 通過邀請團隊成員在工作空間上進行協同工作。
7、History - 所有秦秋的歷史記錄,這樣可以很容易地跟蹤你所做的操作。
8、Collections - 通過創建集合來組織你的測試套件。每個集合可能有子文件夾和多個請求。請求或文件夾也可以被復制。
9、Request tab - 這將顯示您正在處理的請求的標題。默認對於沒有標題的請求會顯示“Untitled Request”。
10、HTTP Request - 單擊它將顯示不同請求的下拉列表,例如 GET, POST, COPY, DELETE, etc. 在測試中,最常用的請求是GET和POST。
11、Request URL - 也稱為端點,顯示API的URL。.
12、Save - 如果對請求進行了更改,必須單擊save,這樣新更改才不會丟失或覆蓋。
13、Params - 在這里將編寫請求所需的參數,比如Key - Value。
14、Authorization - 為了訪問api,需要適當的授權。它可以是Username、Password、Token等形式。
15、Headers - 請求頭信息
16、Body - 請求體信息,一般在POST中才會使用到
17、Pre-request Script - 請求之前 先執行腳本,使用設置環境的預請求腳本來確保在正確的環境中運行測試。
18、Tests - 這些腳本是在請求期間執行的。進行測試非常重要,因為它設置檢查點來驗證響應狀態是否正常、檢索的數據是否符合預期以及其他測試。
19、Settings - 最新版本的有設置,一般用不到。

如何處理GET請求
Get請求用於從指定的URL獲取信息,不會對端點進行任何更改。 在這里我們使用如下的URL作為演示:
https://jsonplaceholder.typicode.com/users
復制代碼
在Postman的工作區中: 1、選擇HTTP請求方式為GET 2、在URL區域輸入 鏈接 3、點擊 “Send”按鈕 4、你將看到下方返回200狀態碼 5、在正文中應該有10個用戶結果,表明您的測試已經成功運行。

**注意:**在某些情況下,Get請求失敗可能由於URL無效或需要身份驗證。
如何處理POST請求
Post請求與Get請求不同,因為存在用戶向端點添加數據的數據操作。使用之前GET 請求中相同數據,現在添加我們自己的用戶。
Step 1)創建一個新請求


[
{
"id": 11,
"name": "Krishna Rungta",
"username": "Bret",
"email": "Sincere@april.biz
",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
]
復制代碼
注意: 檢查Body里用到的JSON格式很重要,以確保數據正確。 檢測的工具比如:jsonformatter.curiousconcept.com/
如何將請求參數化
數據參數化是Postman最有用的特征之一。你可以將使用到的變量進行參數化,而不是使用不同的數據創建相同的請求,這樣會事半功倍,簡潔明了。 這些數據可以來自數據文件或環境變量。參數化有助於避免重復相同的測試,可用於自動化迭代測試。
參數通過使用雙花括號創建:{{sample}}。 比如下面的請求:

{{url}}
。請求url現在應該是{{url}}/users。 3、點擊Send按鈕。 應該沒有響應,因為我們沒有設置參數的源,如下圖:




注意:請確保所有的參數都有准確的源數據,不管是環境變量還是數據文件,以避免出錯。
如何創建Postman Tests
Postman Tests在請求中添加JavaScript代碼來協助驗證結果,如:成功或失敗狀態、預期結果的比較等等。 通常從pm.test開始。它可以與斷言相比較,驗證其他工具中可用的命令。 接下來創建一個包含Tests的請求:
Step 1) 創建一個Get請求 1、切換到Tests選項,右邊是代碼片段選項。 2、從右邊的代碼片段選項里面選中 “Status code: Code is 200” 3、JS代碼就自動出現在窗口中


pm.test("Check if user with id1 is Leanne Graham", function () { var jsonData = pm.response.json(); pm.expect(jsonData[0].name).to.eql("Leanne Graham"); }); 復制代碼
注意: 有不同種類的測試可以在Postman中創建。嘗試探索這個工具,看看哪些測試適合你實際測試。
如何創建測試集合
集合在組織測試套件中扮演着重要的角色。它可以被導入和導出,使得在團隊之間共享集合變得很容易。在本教程中,我們將學習如何創建和執行集合。
Step 1) 單擊頁面左上角的New按鈕,如下圖:





Step 7) 重復上述的Step4-5,繼續創建請求,這樣,測試集合就應該有2個請求了,如下圖。

如何使用Collection Runner 運行集合
有兩種方式來運行一個集合,即Collection Runner和Newman。 Collection Runner: Step 1) 單擊頁面頂部導入按鈕旁邊的Runner按鈕,如下圖。

- 選擇Postman測試集合-集合迭代次數為3
- 設置延遲為2500毫秒
- 點擊Start Run按鈕
Step 4) 單擊Run按鈕后將顯示Run結果頁。根據延遲的不同,你應該在測試執行的同時看到顯示的結果。
1、一旦測試完成,你就可以看到測試狀態是通過還是失敗,以及每個迭代的結果。 2、你將看到Get請求的Pass狀態; 3、由於我們沒有任何Post測試,所以應該會出現請求沒有任何測試的消息。
如何使用Newman運行集合
運行集合的另一種方式是通過Newman。Newman和Collection Runner之間的主要區別如下: 1、Newman是Postman的替代品,所以需要單獨安裝Newman; 2、Newman使用命令行,而Collection Runner使用UI界面; 3、Newman可以用於持續集成。
安裝Newman並運行Collection,步驟如下:
Step 1) 下載並安裝NodeJs: nodejs.org/download/
Step 2) 打開命令行窗口並輸入下面命令:
npm install -g newman
復制代碼
安裝后 如下圖:


選擇導出集合,默認使用推薦的集合版本,比如此處是v2.1,然后單擊導出:

Step 5 ) 選擇你想要保存的地址之后點擊保存,這里建議專門新建一個文件夾來存放你的Postman tests。
Step 6 ) 另外還需要導出我們的環境(enviroment)。單擊全局環境下拉菜單旁邊的eye圖標,選擇JSON格式下載。選擇你想要的位置,然后單擊Save。最好將環境放在與Step5 導出的集合相同的文件夾中。
Step 7 ) 導出Environment 到集合文件夾后,現在回到命令行,將目錄更改為保存集合和環境的位置。
cd C:\Users\Asus\Desktop\Postman Tests 復制代碼
Step 8 ) 使用下面的命令運行你的測試集合:
newman run PostmanTestCollection.postman_collection.json -e Testing.postman_globals.json 復制代碼
運行的結果應該如下圖:

關於Newman的一些基礎指導如下: 1、只運行集合(如果沒有環境或測試數據文件依賴關系,則可以使用此選項。)
newman run <collection name>
復制代碼
2、運行集合和環境(參數-e 是environment)
newman run <collection name> -e <environment name> 復制代碼
3、使用所需的編號運行集合的迭代。
newman run <collection name> -n <no.of iterations>
復制代碼
4、運行數據文件
newman run <collection name> --data <file name> -n <no.of iterations> -e <environment name> 復制代碼
5、設置延遲時間。(這一點很重要,因為如果由於請求在后台服務器上,完成前一個請求時沒有延遲時間直接啟動下一個請求,測試可能會失敗。)
newman run <collection name> -d <delay time>
============== End