简介:使用postman完成请求后,验证返回结果,会用到tests断言。官方提供了很多可以直接使用的方法~

接下来主要介绍这些方法是如何使用。

1. 变量相关:

  • Get an environment variable 获取一个环境变量
  • Get a gloval variable 获取一个全局变量
  • Get a variable 获取一个变量
  • Set an environment variable 设置一个环境
  • Set a global variable 设置一个全局变量
  • Clear an environment variable  清空一个环境变量
  • Clear a global variable  清空一个全局变量

使用:

  • 获取变量:如果在下一个请求中用到上一个请求的返回值,可以使用“设置一个全局变量”将请求的返回值设置为全局变量后,在下一个请求中,使用“获取一个全局变量”取到该值。
  • 清空变量:这里的清空等译删除变量,一个参数使用完成后,需要删除,或者清空值都可以使用该方法。

2.状态码

  • Status code: Code is 200 判断状态码是否正确;默认判断状态是否为 200, 可修改;
  • Status code:Successful POST request
    判断状态码是否为预期结果之一;比如默认断言状态码是否是 201, 202 中的一个;
  • Status code:Code name has string
    判断状态码描述是否包含字符串,比如是否包含 Created;

3. 响应结果断言:

  • Response body: Contains string 响应结果是否包含字符串;
  • Response body: JSON value check 响应结果如果是 JSON,检查具体的 JSON 值;
  • Response body: Is equal to a string 响应结果与字符串是否全部匹配预期的字符串;
  • Response body: Convert XML body to a JSON Object
    将 XML 转换成 JSON;

4. Header :

  • Response headers:Content-Type header check
    响应头部中是否包含字段;

5. 响应速度:

  • Response time is less than 200ms
    响应时间是否少于多少 ms。

例如:

请求的响应为json格式:

{

"code": 200,

"message": "添加成功",

"id": "d794bed4-73ae-4756-bf11-3e7ebbdd43db",

}

tests中验证:

  • //将结果转换为json字符串

var jsonData = pm.response.json();

  • //验证code为200

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

  • //验证message为:添加成功

pm.test("添加成功", function () {
    pm.expect(jsonData.message).to.eql("添加成功");
});

备注:在验证json中的内容时,我这个是简单的object类型的,如果涉及到数组,要逐级验证,定位到具体的值。例如:

jsonData.biz_data[0]._id.value (数组使用[],object可以直接使用点)

  • //id是我之后要用到的值,所以将其设置为全局变量

pm.globals.set("id", jsonData.id);

最新文章

  1. ETL数据从sqlserver到mysql之间迁移
  2. Linux如何进行文件管理
  3. Delphi以及三方控件的源代码规模
  4. Spring in action - 会话管理
  5. 从B 树、B+ 树、B* 树谈到R 树
  6. Jquery的命名冲突
  7. HandlerMapping 详解
  8. mysql存储过程的学习
  9. [__NSCFString absoluteURL]错误的解决方案
  10. 【跟我一起学Python吧】Python 多线程
  11. POJ-1118(超时,但未找到原因)
  12. ProductHunt,TechCrunch和AppStore的差的值
  13. 【Backbone】 Backbone初探
  14. Javaweb快速学习
  15. MariaDB存储过程笔记
  16. AR增强现实开发介绍
  17. Elasticsearch通关教程(一): 基础入门
  18. Android JNI中C调用Java方法
  19. Css3新属性:calc()
  20. Elasticsearch 常见问题的解决思路

热门文章

  1. GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes
  2. ArcGIS Python判断数据是否存在
  3. s2-007
  4. odoo中的字段创建后,不可以编辑
  5. 如何使用 JuiceFS 创建 WebDAV 共享
  6. freeswitch号码黑名单
  7. 线上排查:内存异常使用导致full gc频繁
  8. spring-security 解决
  9. scroll-view滚动导航自动居中
  10. 线程基础知识17 Quene