斷言也就是判斷實際結果與預期結果是否相等,如果相等測試通過,否則測試失敗,自動化測試不管是UI,Services還有unit都需要做斷言。
image.png
1.動態結果斷言
-
通常我們做結果測試會遇到輸入參數與返回結果的映射關系,如下excel所示
image.png
-
大家看到這樣的數據源,肯定是需要做循環執行的
image.png
-
設置斷言(Script Assertion)
image.png
-
Groovy腳本動態驗證結果
image.png
-
Groovy腳本
//動態獲取實際結果
def response = context.expand( '${getApp#Response#$.data.AppId}' )
//動態獲取預期結果
def appId=context.expand( '${deviceIdAndAppId#appId}' )
//log.info response
//log.info appId
//斷言實際結果與預期結果
assert response==appId
-
取消設置錯誤發生忽略測試
由于該接口測試是個集合,所以返回的結果有的是成功的,有的是失敗的,當失敗發生時測試是不能停止的需要繼續執行,所以我們要取消該設置
菜單操作路徑:選中Test Case右鍵菜單->Options
image.png
-
查看執行結果
image.png
2.HTTP的狀態斷言
比如請求返回成功的狀態碼為200,可以設置如下
-
增加Valid HTTP Status Codes Assertion
image.png
-
斷言設置為200
image.png
3.返回Json數據的總數驗證
比如接口請求之后會返回一個產品列表,我們需要驗證列表的總數
-
增加Json Path Count Assertion
image.png
-
設置期望結果
image.png
4.驗證結果包含
比如結果請求之后要驗證返回結果包含某個特定字符
-
增加Contains Assertion
image.png
-
設置期望結果
image.png
5.固定的返回值
比如請求的接口會返回“成功”或“失敗”的字眼,這個時候我們就可以驗證這個固定的返回值
-
設置方式跟驗證包含是一樣的