一、接口定義
軟件不同部分之間的交互接口。通常就是所謂的API――應用程序編程接口,其表現的形式是源代碼。 —— [ 百度百科 ]
我們常說的接口一般指兩種:
(1)API:應用程序編程接口。程序間的接口
(2)GUI:圖形用戶界面。人與程序的接口
這里我們所說的接口特指API接口。
API接口定義:對協議進行定義的引用類型。
二、接口的分類
1、接口分類
(1)HTTP接口
(2)Webservice接口
(3)RESTful接口
WebService接口是走soap協議,請求報文和返回報文都是xml格式,通過SoapUI工具進行測試;
HTTP API接口走HTTP協議,通過路徑來區分調用的方法,請求報文入參有多種形式,返回報文一般為json串,最常見的是get和post方法。
程序對外接口:
從別的網站或服務器上獲取資源的調用,比如某網站購物時,調用支付寶或微信或其他支付接口。
程序對內接口:
程序內部方法直接的接口調用。比如電商平臺的前臺和后臺之間接口調用,前臺開發人員用HTML或CSS或JS等技術,后臺開發人員用JAVA,PYTHON等語言,若用戶從前臺輸入數據,怎樣將數據傳到后臺呢?主要是通過http協議的get或post請求來實現前后端的數據傳遞,這些都是接口測試的一部分
三、為何要進行接口測試
1、接口測試必要性
當今的系統復雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,所以就要做接口測試。同時,接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持后端快速發版需求。
2、接口測試原理
模擬客戶端向服務器發送請求報文,服務器接收請求報文后對相應的報文做處理并向客戶端返回應答,客戶端再接收應答的一個過程。
3、接口測試范圍
接口的功能、性能、安全性。重點關注數據的交換,傳遞和控制管理過程,還包括處理的次數。
四、接口文檔示例
1、接口文檔應該包括哪幾部分?
接口說明
調用的url
請求方法(get、post)
請求參數,參數類型、請求參數說明
返回參數說明
返回示例
五、Postman工具簡介
Postman是一種網頁調試與發送網頁http請求的chrome插件。我們可以用來模擬get或者post或者其他方式的請求來調試接口。常見模擬場景有:get請求、post/k-v、post/json、添加cookie、添加header、上傳文件。
1.get請求傳參:
接口文檔說明如下:
因為是get請求,因此可以直接在瀏覽器訪問,當然也可以使用postman請求,瀏覽器直接訪問:
postman模擬get請求調用接口:點擊Params,輸入參數及value,可輸入多個用&連接,即時顯示在URL鏈接上,所以,GET請求的請求頭與請求參數如在接口文檔中無特別聲明時,可以不填。另外,注意HTTP狀態碼和請求的耗時,HTTP狀態碼是200時,代表這個接口請求是正確的。
2.post請求--表單提交,以key-value形式傳參,接口介紹如:
使用postman來模擬post請求,form-data提交,它是網頁表單用來傳輸數據的默認格式,可以模擬填寫表單,并且提交表單。
3.post請求--模擬上傳文件。接口信息:
使用postman來模擬post請求,form-data提交,可以上傳一個文件作為key的value提交。但該文件不會作為歷史保存,只能在每次需要發送請求的時候,重新添加文件。如:
4.post請求--提交json。接口說明如下:
使用postman來模擬post請求,入參是json,當我們選擇了JSON(application/json)時,postman會在Headers自動設置了Content-Type,如圖:
Headers里自動添加Content-Type:application/json:
5.post請求--添加cookie。接口文檔說明如下:
使用postman來模擬post請求,依據接口文檔得知需求,該接口訪問時需添加cookie,請求方式:post,輸入url,Body 中選取"form-data" 格式,輸入所需的key-value,再在Headers里寫入Cookie值(上面接口文檔寫明:cookie中key為登錄的用戶名,value從登錄接口中獲取,登陸成功之后會返回sign), 點擊"Send", 即可在"Response" 中查看返回的結果:
輸入key,value頁面:
6.post請求--添加Header.接口文檔說明如下:
post請求,需添加header。將請求方式設為GET, 輸入的url,點擊Headers并添加"Referer"信息, 點擊"Send", 即可在"Response" 中查看返回的結果。