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) 零宽 ...
随机推荐
- PHP小知识收集
PEAR 是"PHP Extension and Application Repository"的缩写,即PHP扩展和应用仓库. PECL 是"PHP Extension ...
- 倒计时0日!Apache DolphineScheduler4月 Meetup 大佬手把手教你大数据开发,离线调度
随着互联网技术和信息技术的发展,信息的数据化产生了许多无法用常规工具量化.处理和捕捉的数字信息.面对多元的数据类型,海量的信息价值,如何有效地对大数据进行挖掘分析,对大数据工作流进行调度,是保障企业大 ...
- day20--Java集合03
Java集合03 8.LinkedList 1)linkedList底层实现了双向链表和双端队列的特点 2)可以添加任意元素(元素可以重复),包括null 3)线程不安全,没有实现同步 LinkedL ...
- luoguP4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并 (线段树-权值-动态开点,树链剖分)
中学毕业了,十七号就要前往武汉报道.中学的终点是武汉大学,人生的终点却不是,最初的热情依然失却,我还是回来看看这分类排版皆惨淡的博客吧,只是是用来保存代码也好.想要换一个新博客,带着之前的经验能把它整 ...
- TS 泛型推断好难啊,看看你能写出来不
前言 最近做东西都在用ts,有时候写比较复杂的功能,如果不熟悉,类型写起来还是挺麻烦的.有这样一个功能,在这里,我们就不以我们现有的业务来举例了,我们还是已Animal举例,来说明场景.通过一个工厂来 ...
- Chapter 09 - NSUndoManager (C#实现 + 全网原创)
此例子针对NSDocument实现了tableview 每一行添加/删除的undo/redo,以及每一个单元格内容编辑的undo/redo.基于NSDocument类的实现.PersonModel + ...
- San(COCI2017.2)题解
题意 一个人为了楼顶的金币要去跳楼,但是不能往更矮的楼上跳. 求在一个长为N的序列中总点权值和大于等于K的不下降序列数. N<=40,K<=4e10 官方题解 折半搜索的经典例子!N在20 ...
- 随机存取文件流--RandomAccessFile
* RandomAccessFile的使用* 1.RandomAccessFile直接维承于java.Lang.Object类,实现了DataInputDataOutput接口* 2.RandomAc ...
- vue-router4 |name的作用|query传参|parmas传参|动态路由参数|命名视图|别名alias|前置路由守卫|路由过渡效果|滚动行为
vue-router4 出现 No match found for location with path "/" #### router/index.ts文件 import { c ...
- 记一次 .NET 某金融企业 WPF 程序卡死分析
一:背景 1. 讲故事 前段时间遇到了一个难度比较高的 dump,经过几个小时的探索,终于给找出来了,在这里做一下整理,希望对大家有所帮助,对自己也是一个总结,好了,老规矩,上 WinDBG 说话. ...