postman---postman增加斷言


  我們在做測試的時候都會有一個驗證點,我們通常把這個驗證點叫做斷言,斷言通過了就會說明我們的這個用例是通過的,當然這么強大的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語言的大佬們,可以進行自己編寫斷言內容哦~

 

如果感覺寫的對您有幫助,點個關注,持續更新中,如果有不懂地方可以在下方留言,看到后第一時間都會回復哦~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM