接口測試與postman


一.接口測試:

  接口測試即功能測試,實質是各種操作數據庫。

  接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等   --百度百科

二.接口測試分類:

  程序對外接口:從別的網站或服務器上獲取資源的調用,比如某網站購物時,調用支付寶或微信或其他支付接口。

  程序對內接口:程序內部方法直接的接口調用。比如電商平台的前台和后台之間接口調用,前台開發人員用HTML或CSS或JS等技術,后台開發人員用JAVA,PYTHON等語言,若用戶從前台輸入數據,怎樣將數據傳到后台呢?主要是通過http協議的get或post請求來實現前后端的數據傳遞,這些都是接口測試的一部分。

三.接口的組成:

  1.接口說明文檔;

  2.接口url;

  3.請求方法:post或get

  4.請求參數、參數類型、請求參數說明;

  5.返回參數說明;

由接口文檔可知,接口至少應有請求地址、請求方法、請求參數(入參和出參)組成,部分接口有請求頭header,cookie。

標頭 (header):是服務器以HTTP協議傳HTML資料到瀏覽器前所送出的字串,在標頭與 HTML 文件之間尚需空一行分隔,一般存放cookie、token等信息

那么,header和入參有什么關系?它們不都是發送到服務器的參數嗎?

首先,它們確實都是發送到服務器里的參數,但它們是有區別的,header里存放的參數一般存放的是一些校驗信息,比如cookie,它是為了校驗這個請求是否有權限請求服務器,如果有,它才能請求服務器,然后把請求地址連同入參一起發送到服務器,然后服務器會根據地址和入參來返回出參。也就是說,服務器是先接受header信息進行判斷該請求是否有權限請求,判斷有權限后,才會接受請求地址和入參的。

四.接口測試一般需要注意的點:

  1.檢查接口返回的數據是否與預期結果一致;

  2.請求結果是否正確;

  3.接口的安全性:

          a.繞過驗證,比如說購買了一個商品,它的價格是300元,提交訂單時,將商品的價格改成負數元,后端有沒有做驗證,那么這時是否余額會增加?
          b.繞過身份授權,比如說修改商品信息接口,那必須得是賣家才能修改,若傳一個普通用戶,能不能修改成功?或傳一個其他的賣家能不能修改成功?
          c.參數是否加密,比如說登陸接口,用戶名和密碼是不是加密,如果不加密,別人攔截到你的請求,就能獲取到你的信息了,加密規則是否容易破解。
          d.密碼安全規則,密碼的復雜程度校驗

  4.參數組合:

  現在有一個操作商品的接口,有個字段type,傳1的時候代表修改商品,商品id、商品名稱、價格有一個是必傳的,type傳2的時候是刪除商品,商品id是必傳的,這樣就要測參數組合了,type傳1的時候,只傳商品名稱能不能修改成功,id、名稱、價格都傳的時候能不能修改成功。

  5.異常驗證:
  所謂異常驗證,也就是我不按照你接口文檔上的要求輸入參數,來驗證接口對異常情況的校驗。比如說必填的參數不填,輸入整數類型的,傳入字符串類型,長度是10的,傳11,總之就是你說怎么來,我就不怎么來,其實也就這三種,必傳非必傳、參數類型、入參長度。

  6.接口用例的設計舉例:

  

五.請求狀態碼說明:

  1、200 2開頭的都表示這個請求發送成功,最常見的就是200,就代表這個請求是ok的,服務器也返回了。
  2、300 3開頭的代表重定向,最常見的是302,把這個請求重定向到別的地方了,
  3、400 400代表客戶端發送的請求有語法錯誤,401代表訪問的頁面沒有授權,403表示沒有權限訪問這個頁面,404代表沒有這個頁面
  4、500 5開頭的代表服務器有異常,500代表服務器內部異常,504代表服務器端超時,沒返回結果

六.接口測試常用工具:

  接口測試的工具很多,比如 postman、jmeter、loadrunner、SoapUI等,比較常見的是postman和jmeter。簡介下postman和jmeter。

  1.Postman是谷歌的一款接口測試插件,它使用簡單,支持用例管理,支持get/post、文件上傳、響應驗證、變量管理、環境參數管理等功能,可以批量運行,並支持用例導出、導入。

  2.jmeter是一款100%純Java編寫的免費開源的工具,它主要用來做性能測試,相比loadrunner來說,它內存占用小,免費開源,輕巧方便、無需安裝,越來越被大眾所喜愛。

七.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" 中查看返回的結果。

 

 

 

 

 

.

 


免責聲明!

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



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