postman7种断言的使用
导航:
1.postman断言介绍
2.状态码断言
3.响应正文断言-包含
4.响应正文断言-json字段
5.响应头断言
6.响应时间断言
7.环境变量的断言
- - - - - - - - - 分割线 - - - - - - - - - -
1.postman断言介绍
postman在发送请求后,需要对返回的结果做判断,验证是否符合预期,如状态码、响应头、响应正文等信息进行断言操作,在设置时会给定一个预期结果,在发送请求后会得到一个实际如果,如果两者结果一致,则认为是成功的(PASS),否则则是失败的(Fail),这种操作就叫做断言。断言主要是在Test操作框内进行设置,使用JavaScript语言编写,断言的结果在下方响应内容的TestResult内

2.状态码断言
说明: 对响应结果中的状态码进行验证,用于判断响应的状态码是否符合预期
(1)实例1:设置预期code=200,实际结果200(PASS)
tests["status code is 200"] = responseCode.code == 200;
(2)实例2:设置(2)实例2:预期code=404,实际结果200 (FAIL)
tests["status code is 404"] = responseCode.code == 404;

3.响应正文断言-包含
说明: 对响应结果中的响应正文进行验证,判断返回的响应正文是否包含指定的字符串(ps:大小写是敏感的)
实例1:设置返回包含helloworld,结果满足(PASS)
tests["Body matches"] =responseBody.has("helloworld");

4.响应正文断言-json字段
说明: 对响应结果中的响应的json结构中的字段进行检查,看是否符合预期
(1)实例1:检查返回结果体 data - name 的json值是否为helloworld,符合预期(PASS)
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.name).to.eql("helloworld");
});

(2)实例2:检查返回结果体 code的json值是否为200,不符合预期(FAIL)
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(200);
});
5.响应头断言
说明:对响应头部中的值(header)进行判断,是否包含对应的属性。
(1)实例1:检查header中是否包含Content-Encoding,符合预期(PASS)
pm.test("Content-Encoding is present", function () {
pm.response.to.have.header("Content-Encoding");
});

(2)实例2:检查header中是否包含Content-Type,不符合预期(FAIL)
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});

6.响应时间断言
说明:验证响应结果返回的时间(responseTime)是否在指定范围,小于对应的时间(ms)则符合预期
(1)实例1:检测接口的响应时间小于200ms,符合预期(PASS)
pm.test("Response time is less than 200ms", function () {
pm.expect(pm.response.responseTime).to.be.below(200);
});

(2)实例2:检测接口的响应时间小于10ms,不符合预期(FAIL)
pm.test("Response time is less than 10ms", function () {
pm.expect(pm.response.responseTime).to.be.below(10);
});

7.环境变量的断言
说明:使用这个断言的前提是postman中已经设置了环境变量,用于校验接口内的使用到的环境变量值的正确性
ps:环境变量在Pre-requestScript与Tests组件内都可以进行设置
(1)实例1:检测环境变量variable_key的值是否为hello,符合预期(PASS)
pm.environment.set("variable_key", "hello");//设置环境变量及变量值在Pre-requestScript
var data = pm.environment.get("variable_key");//获取环境变量
tests["检查环境变量值variable_key值是否为hello"] = data== "hello";


(2)实例2:检测环境变量time的值是否为2022-10-08,不符合预期(FAIL)
pm.environment.set("muber", 100);//设置环境变量及变量值
var number = pm.environment.get("muber");//获取环境变量
tests["检查环境变量值muber值是否为200"] = number== 200;

postman7种断言的使用的更多相关文章
- jmeter常用四种断言
jmeter常用四种断言 一.Response Assertion(响应断言)二.Size Assertion(数据包字节大小断言)三.Duration Assertion(持续时间断言)四.bean ...
- jmeter--十三种断言方式介绍
jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 使用断言 ...
- selenium三种断言以及异常类型
elenium提供了三种模式的断言:assert .verify.waitfor 1)Assert(断言) 失败时,该测试将终止. 2)Verify(验证) 失败时,该测试将继续执行,并将错误记入日志 ...
- selenium 三种断言以及异常类型
selenium 提供了三种模式的断言:assert .verify.waitfor Assert 失败时,该测试将终止. Verify 失败时,该测试将继续执行,并将错误记入日显示屏 .也就是说允许 ...
- 自动化框架的两种断言设计(pytest 版)
自动化测试断言失败时,根据不同业务场景,可能需要立即终止或继续执行.这里以 Appium + pytest 为例. 一. 断言失败立即终止 用途一:用例的预期结果是其他用例的前提条件时,assert ...
- Python爬虫学习(4): python中re模块中的向后引用以及零宽断言
使用小括号的时候,还有很多特定用途的语法.下面列出了最常用的一些: 表4.常用分组语法 分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>e ...
- Fiddler+Jmeter+断言详细教程
一.Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例.会抓包的同学可以跳过这一步,当然看看也是没坏处的-- 局域网络配置 将要进行抓包的手机与电 ...
- 推荐轻量友好的.NET测试断言工具Shouldly
Shouldly是一个轻量的断言(Assertion)框架,用于补充.NET框架下的测试工具.Shouldly将焦点放在当断言失败时如何简单精准的给出很好的错误信息. Shouldly在GitHub的 ...
- 正则表达式的先行断言(lookahead)和后行断言(lookbehind)
正则表达式的先行断言和后行断言一共有4种形式: (?=pattern) 零宽正向先行断言(zero-width positive lookahead assertion) (?!pattern) 零宽 ...
随机推荐
- Blazor快速实现扫雷(MineSweeper)
如何快速的实现一个扫雷呢,最好的办法不是从头写,而是移植一个已经写好的! Blazor出来时间也不短了,作为一个.net开发者就用它来作吧.Blazor给我的感觉像是Angular和React的结合体 ...
- Flink Window&Time 原理
Flink 中可以使用一套 API 完成对有界数据集以及无界数据的统一处理,而无界数据集的处理一般会伴随着对某些固定时间间隔的数据聚合处理.比如:每五分钟统计一次系统活跃用户.每十秒更新热搜榜单等等 ...
- File类创建删除功能的方法和File类遍历目录功能
File类创建删除功能的方法 public boolean createNewFile();当且仅当具有该名称的文件尚不存在的时候,创建一个新的空文件 public boolean delete(); ...
- 基于python3.7利用Motor来异步读写Mongodb提高效率
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_111 如果使用Python做大型海量数据批量任务时,并且backend用mongodb做数据储存时,常常面临大量读写数据库的情况. ...
- 基于LadybugFlow的微服务编排(1.SpringBoot集成)
前言 前面的系列文章里,介绍了ladybugflow的业务可视化的设计以及常见场景的使用方法. 感谢大家对项目的关注. 本篇文章介绍一下基于ladybugflow的微服务编排场景及使用方法. 1. 业 ...
- SQL注入 基础学习
SQL注入学习笔记 注入原理 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有 ...
- 如何使用Solidity和Hardhat构建你自己的NFT以及NFT交易市场
目录 目录 目录 1.ERC721的基础知识 1.1.什么是不可替代代币? 1.2.什么是 ERC-721? 1.3.什么是元数据 1.4.如何在链上保存NFT的图像 2.HardHat 3.创建项目 ...
- pnpm 的 workspace 实现 monorepo 工程
前言 前端多个包管理的的方式一般都是采用monorepo的方式去管理,之前都是使用的lerna的workspace去管理.这段时间包管理切换到了pnpm上,它也有worksapce,可以支持monor ...
- Luogu4111 [HEOI2015]小Z的房间 (矩阵树,辗转相除高斯消元)
除法不能用于同余系,要辗转相除.注意不能加入柱子到矩阵. #include <iostream> #include <cstdio> #include <cstring& ...
- Excel 文本函数(二):CONCATENATE 和 CONCAT
在 Excel 2016.Excel Mobile 和 Excel 网页版中,CONCATENATE 函数已替换为 CONCAT 函数. CONCATENATE 函数只能拼接单个单元格或文本字符,不能 ...