無論是接口測試人員仍是開發人員大機率下都繞不開一個工具,那就是Postman。固然可能還有一些接口測試工具,好比soapUI、Jmeter、Robot Framework 等。這四款工具筆者都使用過,經過比較發現,仍是Postman比較好用,因此這裏會寫上一點關於Postman的使用。html
使用工具的好處就是方便,由於咱們在實際工做中,都會結合工具和代碼的使用。咱們訪問Postman官網,點擊download,固然Postman也分32位及64位,各位看官能夠根據本身電腦操做系統進行選擇。以下圖所示:
數據庫
安裝過程比較簡單 ,基本上就是一直點擊下一步,安裝完成以後,咱們能夠選擇註冊或者跳過註冊,這裏咱們選擇跳過註冊。而後就能夠看到Postman的主界面了,以下圖所示:
json
到這裏,實戰項目已經搭建好,數據庫環境也已經配置好,接口文檔已經提供,Postman也已經安裝好,什麼也不說了,先來一波接口測試。在使用Postman作接口測試以前,請確保以上幾個環境都已搭建好。微信
根據接口測試文檔咱們能夠獲得,請求地址是localhost:端口號/ login,由於咱們使用8001端口啓動項目,因此請求地址是http://localhost:8001/login,請求參數是username、password,請求方法是POST,因此在Postman界面輸入如下內容,以下圖所示:
工具
經過返回值咱們能夠看到,咱們已經登陸成功,這裏由於咱們輸入正確的接口地址、參數(咱們建立的超級管理員用戶名是admin,密碼是admin111111。)、請求方式,若是咱們輸入錯誤的請求方式或者請求參數會發生什麼呢?以下圖所示:post
登陸接口請求類型錯誤
測試
用戶名或密碼錯誤
ui
咱們根據接口文檔能夠看到,建立博客須要傳入4個參數:id、title、author、content。其實在接口測試的時候,咱們最好先設計一下接口測試用例。好比這四個參數正常、異常組合一共有多少種狀況,若是咱們把每一種狀況都測到,那麼接口測試應該是作的很是成功的。 下面我將演示部分異常、正常狀況。以下圖所示操作系統
測試標題過長
設計
id類型錯誤
title爲空
請求方法錯誤
作測試的同窗都知道,沒有預期結果的測試用例是不能稱做測試用例的,postman斷言其實也就算是預期結果。那麼如何使用postman作斷言呢?其實很簡單,用到tests 這個模塊。以下圖所示:
那麼咱們的查詢博客接口如何斷言呢?很簡單,從響應內容作斷言。好比查詢一篇博客,響應內容以下:
經過上圖咱們發現,咱們能夠斷言 status、message、以及響應狀態碼,那麼如何作斷言呢?點擊Tests,輸入以下內容,而後再運行,以下圖所示:
var jsonData = JSON.parse(responseBody); tests["Check respose status value"] = jsonData.status === 1; //斷言status是1 tests["Check respose message value"] = jsonData.message === "success"//斷言message是success pm.test("判斷data裏面第一個json數據的id爲12", function () { var jsonData = pm.response.json(); pm.expect(jsonData.data[0].id).to.eql(12);}); pm.test("Status code is 200", function () { pm.response.to.have.status(200); });// 斷言響應狀態碼是200
經過上面斷言咱們發現,斷言方式其實仍是比較簡單的,爲何輸入上面這些內容呢?由於咱們的返回值是Json格式內容,因此使用JSON.parse(responseBody)
獲得返回值。jsonData.status
對應的是返回值裏的status。至於狀態碼就比較簡單了,直接點擊,就會自動生成斷言,以下圖所示:
使用Postman生成接口測試腳本,我以爲是Postman 的一個黑科技。那麼如何使用呢?也特別簡單,當咱們運行完測試後,點擊code,可讓咱們選擇咱們想要生成的語言代碼,好比咱們點擊Python,而後選擇requests,以下圖所示:
固然生成的腳本也只是一個參考,咱們在實際工做中可能不會這麼幹。對於生成的腳本可能有點陌生,不過不用着急,咱們繼續往下看,下面內容就會講如何使用Python作接口測試了,當咱們學會使用Python作接口測試時,再回頭看就比較簡單了。不過有興趣的同窗,能夠先研究一下生成的腳本。
更多Postman的使用能夠關注個人博客園-POSTMAN專欄
歡迎關注微信公衆號:軟件測試汪。軟件測試交流羣:809111560