postman

老舊的模擬請求方式

在開發APP接口的過程當中,通常接口寫完以後,後端開發都會模擬調用一下請求。在用Postman以前,對於通常的get請求我基本都會用瀏覽器來簡單模擬。而對於post請求,我通常習慣寫代碼來調用。能夠用Java來模擬,固然用Python會更簡潔。咱們來看看這種方法存在哪些弊端?json

  1. 不便於管理請求,一般都是用到一個寫一個,若是後續還要用的話,最多隻能依賴瀏覽器的歷史記錄。
  2. 對於開發、測試、生產環境來講,請求的域名參數可能都是不一樣的,這對於咱們請求的維護又帶來了極大的困難。
  3. 經過瀏覽器或本身調用獲取的返回結果都是未通過格式化的文本,還須要藉助bejson等平臺來提升數據的可讀性

用Postman模擬請求

然而今天須要推薦一款模擬請求的利器——Postman,看看它是如何優雅地解決上面的這三個問題的。後端

使用Collections管理請求

Postman中,請求能夠保存,也就相似於文件。而Collection相似文件夾,能夠把同一個項目的請求放在一個Collection裏方便管理和分享,Collection裏面也能夠再建文件夾。瀏覽器

這裏寫圖片描述


環境變量

好比咱們請求的域名,開發、測試、生產環境確定都不同。包括一些請求參數,好比測試環境的用戶id和線上環境的用戶id,確定都是有差別的。這個就相似咱們在maven中經過配置profile打不一樣環境的發佈包。固然Postman裏還提供了Globals也就是所謂的全局變量,與環境無關。服務器

這裏寫圖片描述


請求結果格式化

這裏寫圖片描述


再誇一點吧

Postman在模擬請求方面強大且方便到使人髮指,這裏再說幾句吧: 
能夠模擬各類Http方法,Post、Get、Put、Delete等 
能夠添加各類Headers,不過一些Headers受到Chrome和XMLHttpRequest規範的限制,被屏蔽了,具體有以下:maven

  • Accept-Charset
  • Accept-Encoding
  • Access-Control-Request-Headers
  • Access-Control-Request-Method
  • Connection
  • Content-Length
  • Cookie
  • Cookie 2
  • Content-Transfer-Encoding
  • Date
  • Expect
  • Host
  • Keep-Alive
  • Origin
  • Referer
  • TE
  • Trailer
  • Transfer-Encoding
  • Upgrade
  • User-Agent
  • Via

好消息是,從Postman v0.9.6版本開始,咱們可使用攔截器來發送這些受限的Headers,也就是須要安裝postman interceptor插件工具

安裝了postman interceptor不只能夠發送Cookie,而且可使用瀏覽器的Cookie。這樣一來,咱們只要在Chrome裏登錄了,那麼就能夠獲取各類只能登錄後才能訪問的請求結果了。這絕對是個實用的功能。post

安裝了postman interceptor,還有一個好處!那就是能夠攔截Chrome的請求,經過Chrome的請求能夠自動被抓取到Postman中。只須要在Chrome中打開postman interceptor的攔截功能,而且配置好攔截規則,默認是攔截全部請求,你也能夠根據本身的規則去攔截特定的請求。有了它就至關於替代了咱們去錄製請求,而後咱們就能夠作點什麼。。。測試

Postman還能作什麼

Postman除了是一個牛逼的模擬請求的工具,它還包含了很強大的接口測試功能:插件

測試主要包括三部分,在發起請求以前運行的Pre-request,在收到響應以後運行的Test,和一次運行全部請求的Collection Runnercode

Pre-request

這裏寫圖片描述

Pre-requestTest用的語言都是JavaScript,經常使用的功能均可以經過右邊的Code Snippets實現,點擊就能夠插入到代碼區域。 
能夠看到Pre-request裏經常使用的功能就兩種,環境變量的設置清除和全局變量的設置清除

Test

這裏寫圖片描述

Pre-request相比,TestSnippets就豐富多了,例如檢查狀態碼、檢查響應串、驗證JSON、檢查header、限制響應時間。 
若是須要將服務器響應的數據保存下來,用在後面的請求裏,也須要在這一步作。

Collection Runner

這裏寫圖片描述

當編寫了不少測試以後,就可使用Collection Runner來自動運行整個Collection了,入口就在主界面最上面一行的Runner。選好CollectionEnvironment,若是有須要還能夠載入JSONCSV做爲數據源。點擊Start Test Run,就能夠看到結果了。

寫在後面

這篇文章只是簡單的介紹了Postman的一些優點,我只是做爲一個體驗者把我本身以爲好的地方推薦給你們,固然Postman可能還有好多強大的功能我沒有用到的。後面的文章我將會分享一個實際的例子,來展現我如何用Postman對最近開發的一個功能模塊的全部接口進行自動化測試。

相關文章
相關標籤/搜索