什麼是接口? ------ 某個對象和外界交互的部分html
消息交互接口:基於soap的web service ---- http協議web
web api ------- http協議sql
diameter、radius ------ socket協議編程
編程接口:各類語言的開發包json
其餘接口:數據服務產品:sql語言操做接口api
對帳系統:FTP文件接口瀏覽器
web服務接口:互聯網產品對外提供的服務接口,咱們一般稱之爲web服務接口、web service接口、REST接口服務器
咱們常常說的'接口測試'、‘API測試’,就是對web服務接口的測試。 包括APP服務端接口。網絡
主要包括兩種類型:① 基於SOAP的web service接口app
② REST接口
HTTP協議:超文本傳輸協議
就是瀏覽器與服務器之間進行‘溝通’的一種規範。
HTTP協議屬於應用層的協議。
HTTP版本:在0.9 1.0 1.1(最普遍) 2
要想知道http協議,就要清楚它的請求和響應,固然還有請求方式、狀態碼、URL地址等。
http請求:一個完整的http請求,包含一個請求行,若干個請求頭、空行、消息體
請求行:描述客戶端的請求方法(如get、post等)、請求資源的名稱、http協議的版本號
請求頭:包含客戶機請求的服務器主機名,客戶機的環境信息等
(換行)
消息體:指瀏覽器端經過http協議發送給服務器的實體數據(有三種數據格式:json、xml、www-form-urlencoded)
HTTP請求方法最經常使用的有哪些:get 、post、head、put、delete
http響應:一個http響應表明服務器端向客戶端回送的數據,它包括:一個狀態行、若干個消息頭、空行、以及實體內容(響應體)
響應頭:包含 狀態碼、服務器類型、服務器的數據壓縮格式、傳送數據的編碼格式等
狀態行:如HTTP/1.1 200 OK (協議的版本號是1.1,響應狀態碼爲200 響應結果爲OK)
實體內容:包含瀏覽器可以解析的靜態內容,例如 html、純文本、圖片等等信息
HTTP和HTML的區別?
HTTP是一種用來定義網頁的文本語言 標記語言
HTTP是網絡上傳輸信息的協議
接口測試的流程:- 閱讀API接口文檔
- 編寫測試用例
- 根據測試用例進行API的手工測試
① 開發API工具
② 使用工具進行測試
------------------------------------------------------------------------------------------------------------------------------------------------------------
postman工具的使用:是最普遍的rest api測試工具。
postman提供了一個多窗口和多標籤的界面。
側邊欄分爲兩個主要標籤History和Collections。咱們填過的請求都會自動的保存到history中;Collections能夠把咱們的API請求分類,實現目錄式管理。
右邊區域是咱們操做的核心區域。用來填寫API請求的具體內容:包括http請求的url、請求頭、請求體,點擊發送後,查看響應信息是什麼都在這裏。
構建http請求 ---- 包括URL、請求方法、請求頭、消息體
URL的構建:協議類型 如http能夠省略不寫,若是是https,則須要寫上。 如 www.baidu.com
有時候,url請求中是有參數的,如 https://baike.baidu.com/item/Selenium/18266?fr=aladdin 問號後面的部分fr=aladdin就叫作查詢字符串
也能夠有n多個參數,用符號&隔開 如?fr=aladdin&pagenum=1
請求頭的構建:要在HTTP頭部中添加字段,可在Headers標籤中添加
添加好後,點擊send,發送出去的http請求中就會攜帶這些添加的頭部。
請求體的構建:最多見的就是post 、put請求,有時delete也有消息體
不是全部的http請求都是有消息體的,這是由系統的設計者決定的。
咱們在body中添加參數,並指定是什麼類型的消息體。換句話說就是將參數存放的位置從url移到了body
消息體的類型都是經過headers中的content-type參數來代表的。如 Content-Type:application/x-www-form-urlencoded
消息體類型除了application/x-www-form-urlencoded外,比較常見的還有application/json、application/xml,分別對應json格式的文本和xml格式的文本
還有multipart/form-data
json介紹:是一種編程語言對象的字符串表示法,是一種數據保存和傳輸的序列化格式。
在接口測試中,咱們須要傳遞數據對象給另外的程序,好比一個字典的內容。那咱們傳輸就必需要序列化,xml能夠用程序進行序列化,但效率不高,最後json解決了這一麻煩。
json好處:易讀、易編寫、易解析、易生成。
若是數據格式是json或xml,這種狀況下來構造消息體,須要選擇類型爲raw,而且在右邊的text下拉框中選擇相應的類型,並在body編輯框中輸入相應格式的文本。
選擇不一樣的類型,postman會自動添加對應的header
raw並非一種http body的類型,而是postman用來表示 可直接填寫消息內容的方法。
Collection和Folder:
在postman中,咱們能夠用Collection和Folder對API進行分類存放和管理。collection能夠理解爲頂級目錄 像C盤同樣;Folder能夠理解爲C盤下的一個個目錄。
一般一個產品的API接口測試,咱們能夠建立一個Collection和其對應。根據各個API的功能,分紅不一樣的Test Suite,對應到不一樣的Folder中。
導入和導出:
導入和導出最大的做用就是方便共享。好比 同事之間也要執行,就能夠把這些文件導出給到他,他再導入,仍能夠繼續執行。import是導入 export是導出。
建立postman帳戶:
postman有比較高級的同步功能,只要有帳戶,無論在哪臺機器登陸,均可以使用該帳戶,獲取其保存的API信息。