【4】Postman之Tests(断言)
简介:使用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(断言)的更多相关文章
- 利用 Postman 中 Tests 断言校验返回结果
前言 Postman目前是一款很火的接口测试工具,它有着非常强大结果判断能力.为什么说强大呢,因为Postman有自带的校验脚本,根本不需要我们去学习JS脚本语言,对于代码能力为0的各位测试小伙伴来说 ...
- postman Tests断言
摘要:关于postman的断言方法很多,在网上随便搜寻下,能搜出一大推,什么牛鬼蛇神都有,让人眼花缭乱..甚至在应用时出现错误.Test断言都是根据js规则来写的,对于我这种不懂js语言的来说确实不友 ...
- Postman的Tests标签测试
接口测试最重要的就是返回数据的检查,一个简单的接口,我们可以肉眼检查返回数据,但接口一旦多起来且复杂,每次的检查都会很费劲,此时我们就需要postman 的tests模块来代替 postman面板: ...
- postman测试实例--断言
postman测试实例--断言 让我们来看看postman测试的一些例子. 其中大部分是作为内部postman片段. 大多数测试是为单行的JavaScript语句一样简单. 只要你想一个请求,你可以有 ...
- postman—Sandbox和断言
Postman沙盒 Postman Sandbox是一个JavaScript执行环境,您可以在编写预请求脚本和测试脚本(在Postman和Newman中)时可用.在这个沙箱中执行您在预请求/测试脚本部 ...
- 4、postman的常见断言
推荐我的另一篇文章 浅谈JSONObject解析JSON数据,这篇文章原理类似,使用java或者beanshell进行断言解析json数据 介绍断言之前,我们先测试1个接口: 接口地址:https: ...
- 『政善治』Postman工具 — 9、在Postman中使用断言
目录 1.Tests的介绍 2.常用SNIPPETS(片段)说明 (1)常用变量相关 (2)状态码相关 (3)响应结果断言: (4)Header : (5)响应速度: 3.示例 (1)响应码断言 (2 ...
- Postman中的断言
Postman设置断言 一.断言的定义 1.什么是断言? 一般一个完整的接口测试,包括:请求->获取响应正文->断言,请求和获取响应正文很常见.断言一般是对请求的响应结果做操作,判断预期结 ...
- 第三篇 Postman之 Tests(后置处理器,断言)
第二篇里讲了手动设置全局变量及局部变量的方法,但是这有一个缺点,就是每次测试之前,都需要获取相关变量值,手动再填写更新到对应的全局变量或者局部变量里,这对于想进行自动化执行的人或者懒人就不太友好了,本 ...
- 2,postman的tests的断言写法
tests的断言主要是分为三类 状态码,header内容和波body内容的测试,波body的不常用( 不容易控制) pm.expect(pm.response).to.have.status(&quo ...
随机推荐
- 【转载】SQL SERVER2008 修改数据库名相关的脚本
-- 修改数据库名 -- 1.首先查找数据库是否占用,杀掉占用的id select spid from master.dbo.sysprocesses where dbid=db_id('ClothC ...
- @LoadBalanced注解原理
在使用springcloud ribbon客户端负载均衡的时候,可以给RestTemplate bean 加一个@LoadBalanced注解,就能让这个RestTemplate在请求时拥有客户端负载 ...
- ORM执行SQL语句,神奇的双下划线查询,ORM外键字段的创建,外键字段数据的操作,多表查询
ORM执行SQL语句,神奇的双下划线查询,ORM外键字段的创建,外键字段数据的操作,多表查询 一.ORM执行SQL语句 有时候ORM的操作效率较低,我们是可以自己来编写SQL语句的 方式一: res ...
- 腾讯出品小程序自动化测试框架【Minium】系列(五)API详解(中)
写在前面 又有好久没更新小程序自动化测试框架Minium系列文章了,主要真的太忙,尽量做到每周一更吧,还请大家能够理解! 上篇文章为大家分享关于Minium中Minium.App模块的API 使用,接 ...
- drf 认证组件、权限组件、频率组件
认证组件 访问某个接口 需要登陆后才能访问 #第一步 写一个登录功能 用户表 User表 UserToken表 :存储用户登录状态 [这个表可以没有 如果没有 把字段直接卸载User表上也可以] 登录 ...
- 重拾prometheus
1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- CentOS7安装了图形界面为默认如何修改默认登录到控制台
在安装的时候,选择了图形界面安装,一段时间后,想还是直接登录到控制台,需要的时候在手动登录到图形界面, 在CentOS7中的设置方法不同与之前的版本 在之前的版本中是修改配置文件 sudo nano ...
- springboot FilterRegistrationBean 拦截器的使用
1.创建一个filter package com.ruoyi.weixin.user.interator; import com.ruoyi.common.utils.SecurityUtils; i ...
- (二) MdbCluster分布式内存数据库——分布式架构1
(二) MdbCluster分布式内存数据库--分布式架构1 分布式架构是MdbCluster的核心关键,业界有很多相关的实现,却很少有文章详细的解释每个架构实现背后的细节和这么做的原因.在Mdb ...
- ICSharpCode.SharpZipLib.Zip 解析时报错System.NotSupportedException: No data is available for encoding 936
分析原因 利用ICSharpCode.SharpZipLib.Zip进行APK解析时,因为APK内编译的名称为中文,查询微软开发文档936为gb2312中文编码 微软开发文档地址https://doc ...