接口自動化一

1、移動端接口協議

1.1 移動端經常使用的接口協議

Http 協議。java

目前大部分移動端與服務端之間都是經過 HTTP 協議進行數據交互的。數據庫

4種操做方法。瀏覽器

Http 的 Get、Post、Put、Delete 方法服務器

1.2 Http 協議的組成

Http 協議是一個應用層的協議,是一種網絡交互須要遵照的一種協議規範。網絡

  • Http協議組成session

    • 請求(Request)
    • 響應(Response)
    • 以及相應的信息頭(Request Header 和 Response Header)。
  • Http傳輸數據結構

    • 在 Http 傳輸中,咱們都是 經過 URL 來尋找網絡資源的。
  • Http URL 格式:http://host:port]path][框架

    • http 表示要經過 HTTP 協議來定位網絡資源;
    • host 表示合法的 Internet 主機域名或IP地址;
    • port 用於指定一個端口號,若是爲空,則使用缺省的端口 80;
    • path 指定請求資源的具體地址。

1.3 Http 請求過程

1.3.1 Http 請求格式

向服務器發出請求時,它向服務器傳遞了一個數據塊,也就是請求信息,由3部分組成:socket

  • 請求方法、URI 協議、版本;工具

  • 請求頭(Request Header);

  • 請求參數。

以下截圖所示:

 



其中:

URI:純粹是一個符號結構,用於指定構成Web資源的字符串的各個不一樣部分。
URL:是一種特殊類型的URI,它包含了用於查找某個資源的足夠的信息。
Cookies:能夠理解爲客戶端保存信息的一種機制,用於記錄一些信息,也是實現session的一種方式。
Session:能夠理解爲在服務端保存一個數據結構,能夠用於某些狀態或屬性。

 

1.3.2 Http 響應格式

接收到服務器響應信息也由3個部分構成,分別是:

  • 協議版本、狀態碼、 描述(HTTP/1.一、 200、OK);
  • 響應頭(Response Header);
  • 響應正文。
     

其中,常見狀態代碼、狀態描述:
200 OK:客戶端請求成功。
400 Bad Request:客戶端請求有語法錯誤,不能被服務器所理解。 
403 Forbidden:服務器收到請求,可是拒絕提供服務。
404 Not Found:請求資源不存在。
500 Internal Server Error:服務器發生不可預期的錯誤。

1.3.3 Http 請求過程

一、鏈接:創建一個 socket 鏈接;

由於 socket 是經過 ip 和端口創建的,在這以前還會進行 DNS 解析將域名解析成對應的 ID 地址。

二、請求:鏈接成功後,向服務器發送 GET/POST 請求。

  • GET, 通常用於獲取信息。請求數據會放置在 HTTP 協議頭中,以 ? 分割 URL 和傳輸數據,多個數據以 & 相連。參數受限於 URL 長度,不一樣瀏覽器有不一樣的長度限制。

  • POST,通常用於向服務器提交數據,以 FORM 表單的形式。沒有大小限制。

  • GET 參數經過 URL 傳遞,POST放在Request body中。

三、響應:服務器收到這個請求,進行處理,再將響應數據傳送回客戶端。

四、關閉鏈接:響應結束後,客戶端與服務器斷開鏈接,以保證其它客戶端與服務器創建鏈接。

Tips:99%的人都理解錯了HTTP中GET與POST的區別

2、接口測試

2.1 接口測試主要關注點

  • 業務邏輯

全業務邏輯覆蓋

  • 響應結構

  • 數據格式

  • 數據正確性

    依據數據來源:查數據庫或服務端和接口返回值作比較

2.2 用例設計—參數要考慮的

  • 請求參數必選或選填

例:參數缺失服務端是否正常解析

  • 輸入合法、非法參數

例:服務端只接收 int 類型,傳遞了 String 類型

  • 請求參數邊界值

例:存儲長度10位,傳參大於10位,接口是否處理

  • 請求參數邏輯分支

例:type=1 查詢北京、Type=2查詢天津

  • 與服務端是否存在附加協議

例:交互過程當中服務端須要驗證 head 中的數據、或者是否有加密協議

2.3 用例設計—結果要驗證的

  • 異常請求處理
  • 請求頭協議
  • 響應結構
  • 全部value值的正確性、有效性
  • 數據庫交互是否生效
  • 列表排序
  • 分頁屬性
  • 存在業務關聯的是否生效

2.4 用例的管理與維護

  • 功能測試模式:爲了更快速會選用EXCEL、思惟導圖進行用例管理。
  • 自動化測試模式:使用測試腳本進行管理。

2.5 測試工具及框架

  • 工具:

Fiddeler、Charles、Postman、 Json-handle插件、 Json.cn、 ......

 

  • 框架:

Soapui、Robot framework、Httpclient、Rest assured、Swagger......

相關文章
相關標籤/搜索