WebAPI測試概念及postman初識

什麼是接口?   ------   某個對象和外界交互的部分

              消息交互接口:基於soap的web service  ---- http協議

                                  web api   ------- http協議

                                  diameter、radius  ------ socket協議

              編程接口:各種語言的開發包

              其他接口:數據服務產品:sql語言操作接口

                            對賬系統:FTP文件接口

web服務接口:互聯網產品對外提供的服務接口,我們通常稱之爲web服務接口、web service接口、REST接口

我們經常說的'接口測試'、‘API測試’,就是對web服務接口的測試。 包括APP服務端接口。

  主要包括兩種類型:① 基於SOAP的web service接口

                            ② 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信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章