1. 程式人生 > 其它 >介面自動化測試(4)

介面自動化測試(4)

一、postman中的斷言

(postman中的斷言寫在Tests)

1. API測試中斷言:

1、協議狀態碼

2、響應資料

3、業務狀態碼(程式設計師根據自己的想法來定義的,一個錯誤資訊對應一個業務狀態碼)

判斷一個介面測試用例是否成功(通過)是根據斷言的三個條件都成立的情況下得到的結果

 

2. 例項:登入頁面

http://101.43.158.84/#/login      13484545195 asd888

2.1開啟登入頁面進行登入並且捕捉請求、獲取請求資訊:

 

 

 

 

2.2在postman的斷言寫在Tests中,判斷響應資料、狀態碼是否等於預期:

2.2.1 首先把響應資料放在一個變數中(jsonData),方便呼叫其中的資料資訊。(這裡用的是js語言:var後跟變數名)

   var jsonData=JSON.parse(responseBody)   

 

2.2.2斷言:

     驗證協議狀態碼:

在右邊直接點選 “Status code:Code is 200”             ——驗證響應狀態碼是否為預期狀態碼(如果狀態碼是201,200的位置就改為201)

  驗證響應資料:

    ①驗證某個欄位的資訊是否等於預期:

tests["驗證什麼"]=響應資料的變數.鍵.鍵=="預期結果"    ——驗證響應結果中的資料是否等於預期結果(響應資料是json型別,其中的某個值是根據鍵來獲取的)

 

    ②驗證token:(每次登入成功後的token都是不一樣的,想要斷言token,要先set到一個變數中,再斷言時呼叫這個變數做斷言)

點選右邊的“Set an environment variable” , 把jsonData中的token進行set,給jsonData中的token定義一個變數名;

驗證jsonData的token(也就是響應資料中token實際的值)是否等於我們get到的token變數(get變數:點選右邊“Get an environment variable”)

 總結:驗證響應資料的用例格式為:    tests["驗證什麼"]=實際結果==預期結果

 

2.2.3 檢視用例的執行結果:

 

二、postman中的Collections

Collections:

  集合,就是測試用例的套件,在這個容器裡面,可以存放很多的測試用例。測試套件。

新增集合:

 新增測試用例到Collections:(注意每次修改完用例要點儲存Save)

執行collection:

   

 

 執行後,點選用例名可以看到具體的請求資訊和響應資訊:

 

 三、動態引數

3.1在PostMan中呼叫變數的方式是:

{{變數名}}

 

3.2動態引數在postman的解決思路(重點!!):

以登入為例:

1、登入成功後,在登入介面的Tests中定義一個變數獲取響應資料中的動態引數token

2、在下個介面(比如首頁)中,呼叫定義的變數,呼叫的方式是{{變數名}}

3、那麼這個過程,需要把登入介面和引用登入介面的變數的介面(也就是首頁介面)都需要新增到Collection中,它的順序是登入介面在前

4、然後執行Collection,這樣就能夠實現動態引數的關聯(在用例中如果呼叫了之前的用例中的變數,也就是有關聯時,單獨執行此用例無效,需要執行整個集合run collection)

 

3.3例項:首頁

需求:斷言首頁請求的狀態碼,斷言響應資料

3.3.1開啟首頁的請求

 

 3.3.2在postman中新增請求(填寫請求方法、url、呼叫登入測試用例中的變數“jsonToken”、在Tests中填寫測試用例)

注意1:JWT和token之間有空格,token是動態引數,呼叫的登入用例的token的變數(在登入頁面成功後伺服器返回的token每次都不一樣,我們就在登入用例中定義token為一個變數,在之後的操作中都需要帶著這個token去傳送請求,所以登入後其他操作在請求頭中就要呼叫之前的token變數)

注意2:此時的請求不能傳送成功,因為其中呼叫了登入測試用例中的變數。做法是:儲存此請求至collection中,執行collection。

將首頁請求新增至collection 後執行collection,如下圖 ,點選“首頁”,可以看到請求的資訊和響應的資訊:

 

 在請求中(Tests)新增測試用例:(驗證響應資料中的api是否為0)

 (編輯完後一定要點save儲存,然後執行collection)

 

3.4例項:在首頁新增產品

需求:斷言狀態碼、驗證產品id(產品id每次都不同)。

捕捉請求:

 

 請求資料:

 

 postman中新增請求(方法、url、請求頭、請求資料、

 

 

 

 執行collection:

 

3.4例項:刪除產品

需求:驗證狀態碼

 

 

 

 

 

3.4例項:修改產品

需求:驗證狀態碼和產品id資訊

 

 

 

 

 

collection新增檔案: