断言,是一个完整测试用例所不可或缺的一部分,没有断言的测试用例仅仅是测试步骤。
Postman的Test模块就是实现请求断言功能的,也是基于Node.js的,可以确保您的API能够按预期运行,确定服务之间的集成可靠运行,并验证新开发未破坏任何现有功能。您可以将断言添加到单个请求集合中。postman提供了很多集成的代码片段,我们只需要点击,然后进行简单的修改,就可以适用于请求的断言了。
Test中的断言脚本在收到响应后执行,当您单击Send时,当响应数据从API返回时,Postman将运行您的测试脚本。
要执行断言脚本以验证请求返回的数据,使用pm.test函数定义断言,他提供一个名称和函数,该函数返回一个布尔值(true或false)来指示测试是通过还是失败。并结合使用pm.response对象和pm.expect来测试响应详细信息。
image.png

postman断言操作

  1. //状态断言
  2. //检查返回的状态码是否为200
  3. pm.test("Status code is 200", function () {
  4. pm.response.to.have.status(200);
  5. });
  6. //检查post请求中是否包含预期结果之一
  7. pm.test("Successful POST request", function () {
  8. pm.expect(pm.response.code).to.be.oneOf([201, 202]);
  9. });
  10. //业务断言
  11. //检查响应中包括指定字符串
  12. pm.test("Body matches string", function () {
  13. pm.expect(pm.response.text()).to.include("string_you_want_to_search");
  14. });
  15. //检查响应中json的值
  16. pm.test("Your test name", function () {
  17. var jsonData = pm.response.json();
  18. pm.expect(jsonData.value).to.eql(100);
  19. });
  20. //检查响应等于一个字符串
  21. pm.test("Body is correct", function () {
  22. pm.response.to.have.body("response_body_string");
  23. });