新來的實習生測post接口老漏測,搞清楚原理再執行真的很重要


一.GET方法和POST方法傳遞數據的異同

http請求方法get和post是最常被用到的兩個方法,get常用於向服務器請求數據,post常用於提交數據給服務器處理。

GET方法其實也可以傳遞少量的數據。 但它存在以下問題:

1)GET 方法不包含body,因此以在URL中拼接字段的方式傳遞數據,

2)GET方法中的URL參數會被顯示到地址欄上,存在安全問題

3)傳遞的數據只能是鍵值對,,無法傳遞其他類型的數據

因此出於傳遞大量、多種類型的數據和安全性的考慮,上傳數據常使用post方法。

二.POST方法如何傳遞數據

POST方法提交數據給服務器,涉及到Content-Type和消息主體編碼方式兩部分。服務器根據請求頭中的Content-Type來判斷消息主體的數據格式和編碼方式,數據則存儲在body參數中上傳。

body支持多種數據格式,如form-data,x-www-form-urlencoded,json,xml,raw,不同的數據類型有不同的優勢,有自己擅長的業務場景。

例如:application/x-www-form-urlencoded是默認的數據類型,但是在傳輸大型文件的時候效率低下,multipart/form-data的報文的主體內則可以包含多部分對象,通常用來發送圖片、文件或表單等,適用於傳輸大型文件。

三.接口測試軟件簡介

簡單介紹下我們用來做接口測試的工具——Apifox。Postman自然是接口測試工具領域的老大哥,但Apifox這類軟件在於它整合了接口測試的整個流程——從接口文檔導入到單個接口的測試,整個接口套件的管理,以及自動化測試,一站式服務省去了幾個軟件切來切去的麻煩,現在我們直接用它來演示。

它的官網下載地址也順便掛一個:www.apifox.cn 是免費軟件來着,大家下載完對着界面邊看思路邊操作,學習效果會好些。

四.POST請求接口的測試

Post接口請求的測試關鍵在於理解各個數據類型的含義,並且能構造相應的數據,對各種正常,異常和邊緣情況進行測試。接下來會一一介紹下各個數據類型的含義,並用Apifox演示一下各個類型的數據如何測試。

1.application/x-www-form-urlencoded

原生的form表單,在body中的數據格式為鍵值對。下圖所示為百度文字識別AI的一個POST請求接口,測試這個請求接口需要填入的數據有2項。

在header處填入Content-Type:

在body處填入要上傳的數據:

點擊發送,可以看到實際發出的請求為:

2.multipart/form-data

當數據較大的時候可以選擇multipart/form-data

 

實際發起的請求,Content-Type和body傳輸的數據可以在[實際請求tab]中查看:

3.Json

在接口請求中填入Json數據

發出的實際請求的Content-Type和Body數據類型:

五.測試方法

根據接口文檔的參數描述,設計接口測試用例,造出相對應的正常和異常數據參數,上傳數據進行測試。

1.設計接口測試用例

舉例:某開放平台API的接口文檔參數描述如下:

根據請求參數,上傳jpg,png,gif等格式的正常測試數據,再上傳非圖片的base64編碼數據進行測試,查看請求返回。

以該接口image參數測試的部分用例來作為例子:

2.Apifox中執行用例

a.直接上傳未經過編碼的照片

b.上傳非圖片的base64編碼

c.上傳照片的base64編碼:

3.保存接口測試用例,生成自動化測試套件

在測試管理tab導入測試用例,生成測試用例並一鍵運行:

 

 

 

 查看並導出測試結果:

六.總結

這篇文章主要介紹了為什么要用post方法來傳遞數據,post方法body傳遞參數的4種數據格式;設計用例並使用Apifox進行測試,最后生成了自動化測試用例及測試報告。

大家有什么想討論的歡迎私信我或者在評論區里發表你的見解喔!

 


免責聲明!

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



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