接口測試與postman

一.接口測試:chrome

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

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

二.接口測試分類:後端

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

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

三.接口的組成:安全

  1.接口說明文檔;服務器

  2.接口url;微信

  3.請求方法:post或getcookie

  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.接口用例的設計舉例:

  

五.請求狀態碼說明:

  一、200 2開頭的都表示這個請求發送成功,最多見的就是200,就表明這個請求是ok的,服務器也返回了。
  二、300 3開頭的表明重定向,最多見的是302,把這個請求重定向到別的地方了,
  三、400 400表明客戶端發送的請求有語法錯誤,401表明訪問的頁面沒有受權,403表示沒有權限訪問這個頁面,404表明沒有這個頁面
  四、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" 中查看返回的結果。

 

 

 

 

 

.

相關文章
相關標籤/搜索