Postman接口測試神器從安裝到精通

image

1

摘要

Postman 是一個接口測試和 http 請求的神器,很是好用。html

官方 github 地址: https://github.com/postmanlabs前端

Postman 的優勢:git

  • 支持各類的請求類型: get、post、put、patch、delete 等github

  • 支持在線存儲數據,經過帳號就能夠進行遷移數據web

  • 很方便的支持請求 header 和請求參數的設置chrome

  • 支持不一樣的認證機制,包括 Basic Auth,Digest Auth,OAuth 1.0,OAuth 2.0 等json

  • 響應數據是自動按照語法格式高亮的,包括 HTML,JSON 和 XMLapi

2

安裝

Postman 能夠單獨做爲一個應用安裝,也能夠做爲 chrome 的一個插件安裝。服務器

下面主要介紹下載安裝獨立版本app 軟件的 Postman 的過程:

去主頁Postman 官網(https://www.getpostman.com/)找到:Postman | Apps(https://www.getpostman.com/apps)

image

去下載本身平臺的版本:

Mac Windows(x86/x64) Linux(x86/x64) 

便可。

3

Postman的基礎功能

image

4

快速入門

4.1 新建接口

對應的Request:New -> Request

image

Postman新建Request

或在右邊的 Tab 頁面中點擊加號+:

image

Postman在Tab頁新建Request

便可看到新建的 Tab 頁:

image

Postman新建了的Tab頁的Request

4.1.1 設置 HTTP 請求的方法

設置 HTTP 的 Method 方法和輸入 api 的地址

image

Postman設置Method和輸入API地址

4.1.2 設置相關請求頭信息

image

Postman設置Header頭的key

image

Postman設置Header頭的value

4.1.3 設置相關 GET 或 POST 等的參數

image

Postman設置POST的Body的JSON

4.1.4 發送請求

都填寫好以後,點擊 Send 去發送請求 Request:

image

Postman點擊發送請求

4.1.5 查看響應 Response的信息

image

Postman返回響應

而後能夠重複上述修改 Request 的參數,點擊 Send 去發送請求的過程,以便調試到 API 接口正常工做爲止。

4.1.6 保存接口配置

待整個接口都調試完畢後,記得點擊 Save 去保存接口信息:

image

Postman點擊Save保存

去保存當前 API 接口,而後須要填寫相關的接口信息:

  • Request Name: 請求的名字

    我通常習慣用保存爲 接口的最後的字段名,好比http://{% raw %}{{% endraw %}{server_address}}/ucows/login/login中的/login/login

  • Request Description: 接口的描述

    可選 最好寫上該接口的要實現的基本功能和相關注意事項

    支持 Markdown 語法

  • Select a collection or folder to save: 選擇要保存到哪一個分組(或文件夾)

    每每保存到某個 API 接口到所屬的該項目名的分組

image

Postman保存時填寫接口信息

填寫好內容,選擇好分組,再點擊保存:

image

Postman保存到分組

此時,Tab 的右上角的黃色點(表示沒有保存)消失了,表示已保存。

且對應的分組中能夠看到對應的接口了:

image

Postman已保存的API接口Tab頁

[warning] 默認不保存返回的 Response 數據

  • 直接點擊 Save 去保存,只能保存 API 自己(的 Request 請求),不會保存 Response 的數據

  • 想要保存 Response 數據,須要用後面要介紹的 多個 Example

4.2 Request 的多參數操做詳解

4.2.1 自動解析多個參數 Params

好比,對於一個 GET 的請求的 url 是: http://openapi.youdao.com/api?q=糾刪碼(EC)的學習&from=zh_CHS&to=EN&appKey=152e0e77723a0026&salt=4&sign=6BE15F1868019AD71C442E6399DB1FE4

對應着實際上是?key=value形式中包含多個 Http 的 GET 的 query string=query parameters

Postman 能夠自動幫咱們解析出對應參數,能夠點擊 Params:

image

Postman中GET時多個參數

看到展開的多個參數:

image

Postman中GET中展開的多個參數

如此就能夠很方便的修改,增刪對應的參數了。

4.2.2 臨時禁用參數

且還支持,在不刪除某參數的狀況下,若是想要暫時不傳參數,能夠方便的經過不勾選的方式去實現:

image

Postman中不勾選個別參數

4.2.3 批量編輯 GET 的多個參數

固然,若是想要批量的編輯參數,能夠點擊右上角的Bulk Edit,去實現批量編輯。

image

Postman批量編輯GET參數

4.3 接口描述與自動生成文檔

API 的描述中,也支持 Markdown,官方的接口說明文檔:Intro to API documentation。

因此,能夠很方便的添加有條理的接口描述,尤爲是參數解釋了:

image

Postman給Edit編輯

4.3.1 描述支持 markdown 語法

image

Postman支持Markdown寫描述

而對於要解釋的參數,能夠經過以前的Param -> Bulk Edit的內容:

image

Postman批量更新參數

拷貝過來,再繼續去編輯:

image

Postman編輯Markdown描述內容

以及添加更多解釋信息:

image

Postman添加更多的Markdown內容

點擊 Update 後,便可保存。

4.3.2 發佈接口並生成 markdown 的描述文件

去發佈後:

image

Postman去Publish Docs

對應的效果:有道翻譯

image

Postman發佈後Markdown效果

image

Postman發佈後Markdown中代碼效果

4.4 Response 深刻

4.4.1 Response 數據顯示模式

Postman 對於返回的 Response 數據,支持三種顯示模式。

  • 默認格式化後的 Pretty 模式

image

Postman的Response的Pretty模式

  • Raw 原始模式

點擊Raw,能夠查看到返回的沒有格式化以前的原始數據:

image

Postman的Response的Raw模式

  • Preview 預覽模式

以及 Preview,是對應 Raw 原始格式的預覽模式:

image

Postman的Response的Preview模式

Preview 這種模式的顯示效果,好像是對於返回的是 html 頁面這類,才比較有效果。

4.4.2 Response 的 Cookies

不少時候普通的 API 調用,卻是沒有 Cookie 的:

image

Postman的響應中無Cookie

4.4.3 Response 的 Headers 頭信息

舉例,此處返回的是有 Headers 頭信息的:

image

Postman的響應中的Headers

能夠從中看到服務器是 Nginx 的。

4.5 保存多個 Example

以前想要實現,讓導出的 API 文檔中能看到接口返回的 Response 數據。後來發現是Example這個功能去實現此效果的。

4.5.1 如何添加 Example

image

Postman的接口點擊Add Example

繼續點擊Save Example:

image

Postman的接口點擊Save Example

保存後,就能看到Example(1)了:

image

Postman已保存的Example(1)

4.5.2 單個 Example 在導出的 API 文檔中的效果

而後再去導出文檔,導出文檔中的確能看到返回數據的例子:

image

Postman導出API文檔中帶Example

4.5.3 多個 Example 在導出的 API 文檔中的效果

image

Postman中多個Example在API文檔中效果1

image

Postman中多個Example在API文檔中效果2

4.6 其餘好用的功能及工具

4.6.1 分組 Collection

在剛開始一個項目時,爲了後續便於組織和管理,把同屬該項目的多個 API,放在一組裏

因此要先去新建一個 Collection: New -> Collection

image

Postman新建分組Colection

使用了段時間後,建了多個分組的效果:

image

Postman中的多個分組效果

單個分組展開後的效果:

image

Postman分組展開的效果

4.6.2 歷史記錄 History

Postman 支持 history 歷史記錄,顯示出最近使用過的 API:

image

Postman的History顯示歷史記錄

4.6.3 用環境變量實現多服務器版本

4.6.3.1 現存問題

在測試 API 期間,每每存在多種環境,對應 IP 地址(或域名也不一樣)

好比:

而在測試 API 期間,每每須要手動去修改 API 的地址:

image

Postman修改APi接口中服務器地址

效率比較低,且地址更換後以前地址就無法保留了。

另外,且根據不一樣 IP 地址(或者域名)也不容易識別是哪套環境。

4.6.2 Postman 支持用 Environment 環境變量去實現多服務器版本

後來發現 Postman 中,有 Environment 和 Global Variable,用於解決這個問題,實現不一樣環境的管理:

image

Postman中Environment和Globals

很明顯,就能夠用來實現不用手動修改 url 中的服務器地址,從而動態的實現,支持不一樣服務器環境:

  • Production 生產環境

  • Development 開發環境

  • Local 本地局域網環境

4.6.2.1 如何使用 Enviroment 實現多服務器版本

image

Postman中點擊的Add

或者:

image

Postman中點擊設置Manage Enviroments

image

Postman中Manage Enviroments的Add

Environments are a group of variables & values, that allow you to quickly switch the context for your requests and collections.

Learn more about environments

You can declare a variable in an environment and give it a starting value, then use it in a request by putting the variable name within curly-braces. Create an environment to get started.

輸入 Key 和 value:

image

Postman中Enviroment輸入key和value

點擊 Add 後:

image

Postman保存Enviroment

[info] 環境變量可使用的地方

  • URL

  • URL params

  • Header values

  • form-data/url-encoded values

  • Raw body content

  • Helper fields

  • 寫 test 測試腳本中

  • 經過 postman 的接口,獲取或設置環境變量的值。

此處把以前的在 url 中的 IP 地址(或域名)換成環境變量:

image

Postman把IP換成環境變量

鼠標移動到環境變量上,能夠動態顯示出具體的值:

image

Postman環境變量鼠標動態提示

再去添加另一個開發環境:

image

Postman添加Dev環境變量

則可添加完 2 個環境變量,表示兩個服務器地址,兩個版本:

image

Postman已添加2個環境變量

而後就能夠切換不一樣服務器環境了:

image

Postman切換不一樣服務器環境

能夠看到,一樣的變量 server_address,在切換後對應 IP 地址就變成但願的開發環境的 IP 了:

image

Postman切換到Dev的IP地址

4.6.2.2 Postman 導出 API 文檔中多個環境變量的效果

順帶也去看看,導出爲 API 文檔後,帶了這種 Environment 的變量的接口,文檔長什麼樣子:

發現是在發佈以前,須要選擇對應的環境的:

image

Postman發佈前要選擇環境

image

Postman選擇某個環境

image

Postman已選擇了某個環境

發佈後的文檔,能夠看到所選環境和對應服務器的 IP 的:

image

Postman發佈後看到所選環境的IP

固然發佈文檔後,也能夠實時切換環境:

image

Postman發佈後能夠切換環境

image

Postman切換到某個環境看到IP

4.6.2.3 環境變量的好處

當更換服務器時,直接修改變量的 IP 地址:

image

Postman環境變量要更換IP地址

image

Postman環境變量更換爲新IP

便可實時更新,當鼠標移動到變量上便可看到效果:

image

Postman鼠標移動到環境變量顯示新IP

4.6.3 代碼生成工具

4.6.3.1  查看當前請求的 HTTP 原始內容

對於當前的請求,還能夠經過點擊 Code

image

Postman中點擊Code

去查看對應的符合 HTTP 協議的原始的內容:

image

Postman查看請求的Http的原始內容

4.6.3.2 各類語言的示例代碼Code Generation Tools

好比:

  • Swift 語言

image

Postman把請求生成Swift代碼

  • Java 語言

image

Postman把請求生成Java代碼

  • 其餘各類語言 還支持其餘各類語言:

image

Postman把請求生成其餘各類語言的代碼

目前支持的語言有:

  • HTTP

  • C (LibCurl)

  • cURL

  • C#(RestSharp)

  • Go

  • Java

    OK HTTP

    Unirest

  • Javascript

  • NodeJS

  • Objective-C(NSURL)

  • OCaml(Cohttp)

  • PHP

  • Python

  • Ruby(NET::Http)

  • Shell

  • Swift(NSURL)

代碼生成工具的好處是:在寫調用此 API 的代碼時,就能夠參考對應代碼,甚至拷貝粘貼對應代碼,便可。

4.6.4 測試接口

選中某個分組後,點擊 Runner

image

Postman中點擊Runner

選中某個分組後點擊 Run

image

Postman中點擊Run去測試

便可看到測試結果:

image

Postman中測試API的結果

關於此功能的介紹可參考Postman 官網(https://www.getpostman.com/postman)的git 圖(https://www.getpostman.com/img/v2/postman/gifs/collection-runner.gif)

4.6.5 MockServer

直接參考官網。

4.7 功能界面

4.7.1 多 Tab 分頁

Postman 支持多 tab 頁,於此對比以前有些 API 調試工具就不支持多 Tab 頁,好比Advanced Rest Client

多 tab 的好處:

方便在一個 tab 中測試,獲得結果後,複製粘貼到另外的 tab 中,繼續測試其它接口

好比此處 tab1 中,測試了獲取驗證碼接口後,拷貝手機號和驗證碼,粘貼到 tab2 中,繼續測試註冊的接口

image

Postman拷貝Tab1中驗證碼

image

Postman粘貼驗證碼到Tab2

4.7.2 界面查看模式

Postman 的默認的 Request 和 Response 是上下佈局:

image

Postman默認是上下佈局

此處點擊右下角的Two pane view,就變成左右的了:

image

Postman換成左右佈局

[info] 左右佈局的用途

對於數據量很大,又想要同時看到請求和返回的數據的時候,應該比較有用。

4.7.3 多顏色主題

Posman 支持兩種主題:

  • 深色主題

當前是深色主題,效果很不錯:

image

Postman的設置深色主題

image

Postman的深色主題的效果

  • 淺色主題

能夠切換到 淺色主題:

image

Postman切換淺色主題

image

Postman淺色主題效果

4.8 API 文檔生成

在服務端後臺的開發人員測試好了接口後,打算把接口的各類信息發給使用此 API 的前端的移動端人員時,每每會遇到:

要麼是用複製粘貼 -> 格式不友好 要麼是用 Postman 中截圖 -> 方便看,可是不方便得到 API 接口和字段等文字內容 要麼是用 Postman 中導出爲 JSON -> json 文件中信息太繁雜,不利於找到所須要的信息 要麼是用文檔,好比去編寫 Markdown 文檔 -> 但後續 API 的變動須要實時同步修改文檔,也會很麻煩 這都會致使別人查看和使用 API 時很不方便。

-> 對此,Postman 提供了發佈 API

預覽和發佈 API 文檔 下面介紹 Postman 中如何預覽和發佈 API 文檔。

4.8.1 簡要概述步驟

  • Collection

  • 鼠標移動到某個 Collection,點擊 三個點

  • Publish Docs

  • Publish

  • 獲得 Public URL

  • 別人打開這個 Public URL,便可查看 API 文檔

4.8.2 預覽 API 文檔

點擊分組右邊的大於號>

image

Postman的分組右邊的>

若是隻是預覽,好比後臺開發員本身查看 API 文檔的話,能夠選擇:View in web

image

Postman的分組的View in web

等價於點擊Publish Docs去發佈:

image

Postman的分組點擊Publish Docs

View in Web 後,有 Publish 的選項(見後面的截圖)

View in Web 後,會打開預覽頁面:

好比:

奶牛雲

https://documenter.getpostman.com/collection/view/669382-42273840-6237-dbae-5455-26b16f45e2b9

image

Postman的API文檔預覽-1

image

Postman的API文檔預覽-2

而右邊的示例代碼,也能夠從默認的 cURL 換成其餘的:

image

示例代碼從cURL換成Python

image

API文檔中Python示例代碼

4.8.3 發佈 API 文檔

若是想要讓其餘人能看到這個文檔,則點擊 Publish:

image

API文檔中點擊Publish去發佈

而後會打開相似於這樣的地址:

Postman Documenter

https://documenter.getpostman.com/collection/publish?meta=Y29sbGVjdGlvbl9pZD00MjI3Mzg0MC02MjM3LWRiYWUtNTQ1NS0yNmIxNmY0NWUyYjkmb3duZXI9NjY5MzgyJmNvbGxlY3Rpb25fbmFtZT0lRTUlQTUlQjYlRTclODklOUIlRTQlQkElOTE=

image

Postman確認發佈分組的API文檔

點擊 Publish 後,能夠生成對應的公開的網頁地址:

image

Postman已發佈文檔獲得公開連接

打開 API 接口文檔地址:

https://documenter.getpostman.com/view/669382/collection/77fd4RM

便可看到(和前面預覽同樣效果的 API 文檔了):

image

Postman已發佈的API文檔效果

如此,別人便可查看對應的 API 接口文檔。

4.9 已發佈的 API 文檔支持自動更新

後續若是本身的 API 接口修改後:

好比:

image

Postman去Edit編輯API

image

Postman的API更新編輯Edit Request

(後來發現,不用再去進入此預覽和發佈的流程,去更新文檔,而是 Postman 自動支持)

別人去刷新該文檔的頁面:

https://documenter.getpostman.com/view/669382/collection/77fd4RM

便可看到更新後的內容:

image

Postman自動更新了已發佈的API文檔

5

參考資料

主要參考:

本文做者:老馬

原文發佈於博客園

原文連接:

http://www.javashuo.com/article/p-bmfzezfw-ba.html

如下是咱們的社區介紹,歡迎各類合做、交流、學習:)

image

相關文章
相關標籤/搜索