我們在做測試的時候都會有一個驗證點,我們通常把這個驗證點叫做斷言,斷言通過了就會說明我們的這個用例是通過的,當然這么強大的postman也是有斷言的,我們一起學習下如何通過postman增加斷言。
斷言介紹
postman中斷言
postman中的斷言是通過javaScript語言編寫的,我們可以在postman客戶端中直接編寫,斷言會在請求返回之后顯示,並根據斷言的pass\fail情況體現在最終測試結果中
肯定有人會說,我不會javaScript語言怎么編寫? 是不是還要重新學習了? 當然不是的了。postman官方怎么可能沒有考慮到這種情況呢,官方在tests下方給出可以選擇的一些斷言內容。當然這些已經足夠我們測試用來驗證用例了。
話不多說我們直接開始執行
增加斷言
點擊postman中的tests進入到編寫斷言腳本地方
我們這里通過get的方式簡單介紹斷言的方法使用
我們先進行構思問題如果這個是我們的接口請求,我們如何做驗證點(斷言)?
1、可以根據頁面上的字符串是否存在可以判斷
2、判斷狀態碼是否為200
我們就通過上面兩個驗證點編寫斷言
可以看到這個斷言為狀態碼為200,斷言是成功的
修改斷言名稱
如果斷言類型多的話,比較不容易查看,我們可以直接自己修改斷言的類型名稱
這樣的話對於英語不好的同學也可以一目了解的知道自己增加了什么斷言和那個斷言請求成功和失敗
postman斷言類型
其他的斷言腳本都表示什么意思呢?
1、檢查響應主體中是否包含字符串
pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("string_you_want_to_search"); });
2、檢查談響應主體是否等於字符串
pm.test("Body is correct", function () { pm.response.to.have.body("response_body_string"); });
3、檢查JSON值
pm.test("Your test name", function () { var jsonData = pm.response.json(); pm.expect(jsonData.value).to.eql(100); });
4、Content-Type標頭存在
pm.test("Content-Type header is present", function () { pm.response.to.have.header("Content-Type"); });
5、響應時間小於200毫秒
pm.test("Response time is less than 200ms", function () { pm.expect(pm.response.responseTime).to.be.below(200); });
6、狀態碼為200
pm.test("Status code is 200", function () { pm.response.to.have.status(200); });
7、代碼名稱包含一個字符串
pm.test("Status code name has string", function () { pm.response.to.have.status("Created"); });
8、成功的POST請求狀態代碼
pm.test("Successful POST request", function () { pm.expect(pm.response.code).to.be.oneOf([201,202]); });
當然了,如果會點javaScript語言的大佬們,可以進行自己編寫斷言內容哦~
如果感覺寫的對您有幫助,點個關注,持續更新中,如果有不懂地方可以在下方留言,看到后第一時間都會回復哦~~~