Postman 簡介

在你開發(fā) Restful API 或者測試第三方 API 時,我想 Postman 會是一個很好的工具。它給用戶提供非常友好的交互頁面,使得你不必在編寫繁瑣的代碼就能輕松完成 API 測試。
Postman 官網(wǎng)是這樣介紹這款 Postman 的:Postman 是一個 API 開發(fā)的協(xié)作平臺,旨在簡化構(gòu)建 API 的每個步驟并簡化協(xié)作,這樣您就可以更快地創(chuàng)建更好的 API。
簡單來說,Postman 就是一個 API 客戶端,在 Postman 中你可以直接快速、輕松地分布任何請求。
1. Postman 的發(fā)展史
Postman 的兩個聯(lián)合創(chuàng)始人 Abhinav Asthana 和 Ankit Sobti 最開始是在 Yahoo 構(gòu)建一個應(yīng)用程序的前端架構(gòu),那時他們必須使用 API。他們意識到缺少支持 API 開發(fā)的工具,于是坐下來編寫代碼解決這個問題,并將其發(fā)布在谷歌的網(wǎng)上商店——這就是 Postman 最早的由來。
2012 年,在谷歌的網(wǎng)絡(luò)商店上,Postman 已經(jīng)有了將近 2000 次下載。于是他們開始更加仔細(xì)地研究這個領(lǐng)域,發(fā)現(xiàn)人們迫切的需要一個 API 工作流,從概念化到文檔的發(fā)布再到 API 的傳播。
于是, Postman 就從一個業(yè)余項目發(fā)展成為了一個許多世界頂級組織使用的 API 平臺。截止到目前現(xiàn)在全世界有已經(jīng)有超過 600 萬的開發(fā)者在使用 Postman。
2. Postman 的版本歷史
Postman 的主要發(fā)行版本有 Postman v7 和 v6/v5。v7 又有很多細(xì)碎的版本,從 v7.0.6 到 v7.27.1 不等。Postman v7 和之前版本最大的不同在于:Postman v7 版本提供了基于角色的訪問控制,在集合、團(tuán)隊和工作空間級別提供了更強(qiáng)健的權(quán)限管理功能。
Tips:本教程將使用 Postman v 7.27.1 進(jìn)行教學(xué)。
3. Postman 特性
工作空間:支持軟件開發(fā)期間的團(tuán)隊協(xié)作
用 Postman 的免費賬號就可以創(chuàng)建個人工作空間,你可以邀請團(tuán)隊其他成員加入該工作空間,在該工作空間協(xié)同合作。
集合:按目的組織的一系列 HTTP 請求
集合是最常用的API格式。使用集合可以將請求、參數(shù)、描述、測試和腳本都組織在一個文件夾中??梢酝ㄟ^共享集合在 API 上進(jìn)行協(xié)作,并在集合上構(gòu)建測試套件、文檔、模擬服務(wù)器和監(jiān)視器。
環(huán)境:私人信息的存儲和保護(hù)
為了在不同的服務(wù)器上運(yùn)行 API,可以在 Postman 中使用環(huán)境變量。這些變量幾乎可以在任何地方使用。使用雙括號訪問變量。
測試腳本:使用 JavaScript 為每個請求編寫和運(yùn)行測試。
一個測試 API 是否返回 JSON 字符串“127.0.0.1”的測試腳本:
pm.test("IP Address", function(){
pm.expect(pm.response.json()).to.equal("127.0.0.1");
});
變量——允許引用本地存儲的數(shù)據(jù)而不泄露敏感信息
4. 與其他軟件對比
除了 Postman 之外,市面上還有一些其他受歡迎的 API 工具,下面就來比較下這些工具和 Postman 的優(yōu)缺點。
4.1 Paw
Paw 是一款功能齊全、設(shè)計精美的 Mac 應(yīng)用程序。良好的界面是 Paw 勝過 Postman 之處。簡而言之,Paw 稱得上是 MAC 系統(tǒng)上最強(qiáng)的 API 工具,不過 Paw 是收費的。
4.2 Swagger UI
Swagger UI 相較于 Postman 最大的優(yōu)勢在于不依賴 HTML、JavaScript 和 CSS 就可以在 web 頁面上動態(tài)生成漂亮的 API 文檔。
但它不像 Postman 這樣的接口測試客戶端,在界面上點選以及輸入就可以發(fā)送請求。Swagger UI 需要在后臺代碼中做一些配置甚至寫一些代碼才能實現(xiàn),相對來說,Swagger UI 的學(xué)習(xí)和接入成本較高。
總而言之,Postman 以簡單易用而知名,并在 1725 個公司棧和 2166 個開發(fā)者棧中被提及,得到了廣大開發(fā)者的認(rèn)可。
5. 為什么要用 Postman
首先在項目初期,測試人員提前介入,進(jìn)行接口測試,模擬客戶端與服務(wù)端的交互。有問題提前拋出來。保證接口調(diào)用是沒問題的。其次,接口測試完成之后再進(jìn)行系統(tǒng)測試,會輕松很多。明白了各個接口在做什么,各個參數(shù)的模擬實際上就是業(yè)務(wù)場景的模擬。系統(tǒng)測試出現(xiàn)一些問題可以更快速的定位是客戶端還是服務(wù)端出問題。
另外,接口是獲取和操作資源的方式,而大部分系統(tǒng)和產(chǎn)品中,資源一般都是產(chǎn)品的核心,比如微信核心資源就是通訊錄關(guān)系鏈和聊天記錄等,因此資源是必測的。
而接口中大部分的內(nèi)容是數(shù)據(jù),通過數(shù)據(jù)的對比我們能推測到系統(tǒng)和產(chǎn)品的邏輯,測接口就是測邏輯。最后接口中的返回相對單純,不像 web 頁面,HTML 代碼中有太多 UI 的東西,UI 最不穩(wěn)定,變化太快,接口相對穩(wěn)定一點點,但是里面的干擾信息更少,斷言相對容易很多。
6. 學(xué)習(xí)基礎(chǔ)
學(xué)習(xí)使用 Postman 最好是有一定的后端開發(fā)或測試基礎(chǔ),或者是正在學(xué)習(xí)如何編寫 Restful API 接口程序。 當(dāng)然,如果你沒有任何基礎(chǔ)知識也不必?fù)?dān)心,本教程會盡量使用通俗易懂的語言來講解知識點。
這篇文章主要介紹了 Postman教程的一些基本知識,對于要驗證自己的 API 或第三方 API 的同學(xué),Postman 是一個很好的快速入門上手的工具。