简介:使用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);

【4】Postman之Tests(断言)的更多相关文章

  1. 利用 Postman 中 Tests 断言校验返回结果

    前言 Postman目前是一款很火的接口测试工具,它有着非常强大结果判断能力.为什么说强大呢,因为Postman有自带的校验脚本,根本不需要我们去学习JS脚本语言,对于代码能力为0的各位测试小伙伴来说 ...

  2. postman Tests断言

    摘要:关于postman的断言方法很多,在网上随便搜寻下,能搜出一大推,什么牛鬼蛇神都有,让人眼花缭乱..甚至在应用时出现错误.Test断言都是根据js规则来写的,对于我这种不懂js语言的来说确实不友 ...

  3. Postman的Tests标签测试

    接口测试最重要的就是返回数据的检查,一个简单的接口,我们可以肉眼检查返回数据,但接口一旦多起来且复杂,每次的检查都会很费劲,此时我们就需要postman 的tests模块来代替 postman面板: ...

  4. postman测试实例--断言

    postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...

  5. postman—Sandbox和断言

    Postman沙盒 Postman Sandbox是一个JavaScript执行环境,您可以在编写预请求脚本和测试脚本(在Postman和Newman中)时可用.在这个沙箱中执行您在预请求/测试脚本部 ...

  6. 4、postman的常见断言

    推荐我的另一篇文章  浅谈JSONObject解析JSON数据,这篇文章原理类似,使用java或者beanshell进行断言解析json数据 介绍断言之前,我们先测试1个接口: 接口地址:https: ...

  7. 『政善治』Postman工具 — 9、在Postman中使用断言

    目录 1.Tests的介绍 2.常用SNIPPETS(片段)说明 (1)常用变量相关 (2)状态码相关 (3)响应结果断言: (4)Header : (5)响应速度: 3.示例 (1)响应码断言 (2 ...

  8. Postman中的断言

    Postman设置断言 一.断言的定义 1.什么是断言? 一般一个完整的接口测试,包括:请求->获取响应正文->断言,请求和获取响应正文很常见.断言一般是对请求的响应结果做操作,判断预期结 ...

  9. 第三篇 Postman之 Tests(后置处理器,断言)

    第二篇里讲了手动设置全局变量及局部变量的方法,但是这有一个缺点,就是每次测试之前,都需要获取相关变量值,手动再填写更新到对应的全局变量或者局部变量里,这对于想进行自动化执行的人或者懒人就不太友好了,本 ...

  10. 2,postman的tests的断言写法

    tests的断言主要是分为三类 状态码,header内容和波body内容的测试,波body的不常用( 不容易控制) pm.expect(pm.response).to.have.status(&quo ...

随机推荐

  1. [编程基础] C++多线程入门4-数据共享和资源竞争

    原始C++标准仅支持单线程编程.新的C++标准(称为C++11或C++0x)于2011年发布.在C++11中,引入了新的线程库.因此运行本文程序需要C++至少符合C++ 11标准. 4 数据共享和资源 ...

  2. Web3区块链DAS域名注册教程 tron trx链波卡钱包地址解析 用户名转账 ENS

    而在去中心化系统中,大部分人充值.转账时,使用的都是区块链原生的长地址,比如: ETH 的地址: 0x9euo8sHip*******dHld90 CKB 的地址: ckHUEI829D******* ...

  3. SwiftUI(一)

    macOS 11.4 Xcode 12.5.1 1.新建工程,创建一个swiftui文件   2.创建后有些画布是在下面显示的     3.先来看下效果图   4. CardImageView.swi ...

  4. antd 3.x升4.x踩坑之路~

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 兼容性问题 第三方依赖兼容问题 React - 最低 v16.9,部 ...

  5. java 进阶P-5.5+P-6.1

    框架加数据 以框架+数据来提高可扩展性 命令的解析是否可以脱离if-else 定义一个Handler来处理命令 用Hash表来保存命令和Handler之间的关系 抽象 Shape是什么形状 Shape ...

  6. STL序列式容器使用注意、概念总结

    引入 最近看了<STL源码剖析>的第 4 章和第 5 章,介绍了 C++ STL 中的序列式容器和关联式容器,本文将总结序列式容器的基础概念,不会详细它们的实现原理(想知道自个儿看书吧,我 ...

  7. Django-request、django连接数据库、ORM

    1.静态文件配置 1.静态文件:不经常变化的文件,主要针对html文件(CSS文件.js文件.img文件.第三方框架文件). 2.django针对静态文件资源需要单独开始一个目录统一存放:static ...

  8. 数据库系列:MySQL慢查询分析和性能优化

    1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢. 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题. 下 ...

  9. Zstack和vmware的初步印象对比

    先不说话,直接上截图吧,vmware的: zstack的: 读者不知道看出什么名堂没有?把浏览器缩放调到50%,vmware的产品线两页截屏还装不下:zstack虽然也要两屏,但都是块块,大致数了数, ...

  10. React中组件之间是如何通信的 react的组件通信方式有哪些

    一.是什么 通信指的是发送者通过某种媒体 以某种格式来传递信息 到收信者以达到某个目的,广义上,任何信息的传递都是通信 二.如何通信? 组件传递的方式有很多种,根据传送者和接收者可以分为如下: 父组件 ...