基於postman進行接口測試實戰


一:接口測試前准備

 

接口測試是基於協議的功能黑盒測試,在進行接口測試之前,我們要了解接口的信息,然后才知道怎么來測試一個接口,如何完整的校驗接口的響應值。

 

那么問題來了,那接口信息從哪里獲取呢?常用的有三種方式:

 

  1.  通過抓包工具比如fiddle,charles獲取接口信息

  2.  通過瀏覽器開發者工具,networks查看接口請求信息

  3.  當然最直接和最靠譜的就是接口文檔,這就是接口的需求文檔

 

一個規范的接口文檔最基本的應該包含了:

 

  • 接口請求地址、請求方法、請求頭信息說明

  • 接口入參說明(包括參數的類型、是否必填、長度范圍等)

  • 接口響應示例、響應狀態碼

 

現在很多公司沒有接口文檔,但是接口的重要性我這里就不累贅了,我認為測試人員應該主動提出來,開發需要編寫接口文檔,在測試工作中需要更加主動。下面是我編寫的swagger的接口文檔,大家可以參考一下:

二:接口測試實戰

 

一般剛開始接觸接口測試都是基於測試工具,比如接口調試神奇postman,開發和測試都用它來調試和測試接口。

 

這里演示部分的接口是用Flask搭建的Mock Serve,后續也會分享如何從0搭建接口項目

 

實例一:demo  

接口信息:

地址 :127.0.0.1:5000/api/demo   

GET類型

參數為limit  非必填 ,表示獲取數據限制

我們打開postman,請求demo接口,如圖所示:

 

這個demo接口由於可以不填任何參數,和請求頭部信息,所以操作非常簡潔,輸入接口地址,選擇接口請求方法,點擊send直接請求成功,或者接口的響應狀態碼,和響應值。那如果get請求有參數入參怎么請求呢?如圖所示:

 

 

在Params中以鍵值對的形式填寫參數,大家發現這個時候接口響應值里面的info字段只有一條數據信息了,那當然limit為2時,就返回2條數據。細心的朋友可能已經發現get接口的參數直接拼接在url后面,如:http://127.0.0.1:5000/api/demo?limit=1,get接口也可以直接在瀏覽器中請求,獲取響應值

 

三:理解cookie

 

通過一個實例12306查詢車次信息接口來理解講接口請求頭信息中的cookie,打開瀏覽器開發者工具獲取接口地址,請求方法,參數,響應值等如圖所示:

 

 

然后像實例一在postman里面輸入接口地址和參數,發送請求,但是,請求失敗了,小朋友,你是否有很多問號:


 

那為什么在網頁中這個接口請求沒有問題,到postman里面來就失敗了。其實當web開發人員去向后端請求這個接口的時候,會把瀏覽器一些網站信息,用戶的登錄狀態,用戶的瀏覽習慣等通過Request Headers中的cookie傳給后端,但是postman就不會。那我就在postman里面模擬添加請求頭信息(頭信息在瀏覽器中可以獲取),如圖所示:


果然就請求成功了,是不是有點意思,通過倆個get接口實例,理解接口測試和cookie。那么接下來我們看一個post類型的接口,順便理解一下常見的token,這也是面試常問的一個問題,問到接口鑒權如何測試

 

四:接口測試實戰之post接口   

 

接口信息:地址127.0.0.1:5000/api/login   POST類型

                 參數 username 表示登錄用戶名

                 密碼 password  表示登錄密碼

                 Content-Type:application/json

 

如圖所示:


post接口首先選擇Body參數,再輸入參數發送請求。我們可以看到登錄接口如果請求成功了,就返回了一個token,就像身份證ID,每個人都有都是唯一的。該token就是這個人員的通行證。

 

token鑒權,簡單來說,就是要不要登錄,一般來說,一個系統的所有接口都需要鑒權才能請求,換句話說先要請求這個系統的登錄接口,拿到服務端響應認證,才能去請求其它接口,一般放在請求頭headers或者body參數里面。如果請求其它接口沒有傳token就會提示無權限訪問或者未登錄

 

對於http協議我們已經掌握常用的getpost接口測試,那當然還有其它很多類型的接口測試,比如delete,put等,還有入參為form-data類型的接口,比如文件上傳接口

 

那么對於不同協議的接口,比如webservice等,dubbo接口我們都需要通過實例去了解。當理解了各種類型的接口測試之后,我們就可以進行接口自動化了,得到一套落地有效的接口自動化測試方案,可以根據實際測試需求自主封裝搭建適合項目的測試框架。

 

最后,有需要的可以關注我,公號后台領取視頻演示教程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM