1、接口定義
軟件不一樣部分之間的交互接口。一般就是所謂的API――應用程序編程接口,其表現的形式是源代碼。 —— [ 百度百科 ]chrome
咱們常說的接口通常指兩種:
(1)API:應用程序編程接口。程序間的接口
(2)GUI:圖形用戶界面。人與程序的接口
這裏咱們所說的接口特指API接口。編程
API接口定義:對協議進行定義的引用類型。json
2、接口的分類
一、接口分類
(1)HTTP接口
(2)Webservice接口
(3)RESTful接口後端
WebService接口是走soap協議,請求報文和返回報文都是xml格式,經過SoapUI工具進行測試;
HTTP API接口走HTTP協議,經過路徑來區分調用的方法,請求報文入參有多種形式,返回報文通常爲json串,最多見的是get和post方法。 瀏覽器
程序對外接口:安全
從別的網站或服務器上獲取資源的調用,好比某網站購物時,調用支付寶或微信或其餘支付接口。服務器
程序對內接口:微信
程序內部方法直接的接口調用。好比電商平臺的前臺和後臺之間接口調用,前臺開發人員用HTML或CSS或JS等技術,後臺開發人員用JAVA,PYTHON等語言,若用戶從前臺輸入數據,怎樣將數據傳到後臺呢?主要是經過http協議的get或post請求來實現先後端的數據傳遞,這些都是接口測試的一部分cookie
3、爲什麼要進行接口測試
一、接口測試必要性
當今的系統複雜度不斷上升,傳統的測試方法成本急劇增長且測試效率大幅降低,因此就要作接口測試。同時,接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,能夠減小人工迴歸測試人力成本與時間,縮短測試周期,支持後端快速發版需求。app
二、接口測試原理
模擬客戶端向服務器發送請求報文,服務器接收請求報文後對相應的報文作處理並向客戶端返回應答,客戶端再接收應答的一個過程。
三、接口測試範圍
接口的功能、性能、安全性。重點關注數據的交換,傳遞和控制管理過程,還包括處理的次數。
4、接口文檔示例
一、接口文檔應該包括哪幾部分?
接口說明
調用的url
請求方法(get、post)
請求參數,參數類型、請求參數說明
返回參數說明
返回示例
5、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:
固然,提交json時,也能夠選擇Text,如圖:
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" 中查看返回的結果。