导航:
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种断言的使用的更多相关文章

  1. jmeter常用四种断言

    jmeter常用四种断言 一.Response Assertion(响应断言)二.Size Assertion(数据包字节大小断言)三.Duration Assertion(持续时间断言)四.bean ...

  2. jmeter--十三种断言方式介绍

    jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 使用断言 ...

  3. selenium三种断言以及异常类型

    elenium提供了三种模式的断言:assert .verify.waitfor 1)Assert(断言) 失败时,该测试将终止. 2)Verify(验证) 失败时,该测试将继续执行,并将错误记入日志 ...

  4. selenium 三种断言以及异常类型

    selenium 提供了三种模式的断言:assert .verify.waitfor Assert 失败时,该测试将终止. Verify 失败时,该测试将继续执行,并将错误记入日显示屏 .也就是说允许 ...

  5. 自动化框架的两种断言设计(pytest 版)

    自动化测试断言失败时,根据不同业务场景,可能需要立即终止或继续执行.这里以 Appium + pytest 为例. 一. 断言失败立即终止 用途一:用例的预期结果是其他用例的前提条件时,assert ...

  6. Python爬虫学习(4): python中re模块中的向后引用以及零宽断言

    使用小括号的时候,还有很多特定用途的语法.下面列出了最常用的一些: 表4.常用分组语法 分类 代码/语法 说明 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>e ...

  7. Fiddler+Jmeter+断言详细教程

    一.Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例.会抓包的同学可以跳过这一步,当然看看也是没坏处的-- 局域网络配置 将要进行抓包的手机与电 ...

  8. 推荐轻量友好的.NET测试断言工具Shouldly

    Shouldly是一个轻量的断言(Assertion)框架,用于补充.NET框架下的测试工具.Shouldly将焦点放在当断言失败时如何简单精准的给出很好的错误信息. Shouldly在GitHub的 ...

  9. 正则表达式的先行断言(lookahead)和后行断言(lookbehind)

    正则表达式的先行断言和后行断言一共有4种形式: (?=pattern) 零宽正向先行断言(zero-width positive lookahead assertion) (?!pattern) 零宽 ...

随机推荐

  1. 我也是醉了,Eureka 延迟注册还有这个坑!

    Eureka 有个延迟注册的功能,也就是在服务启动成功之后不立刻注册到 Eureka Server,而是延迟一段时间再去注册,这样做的主要目的是因为虽然服务启动成功了,可能还有一些框架或者业务的代码没 ...

  2. HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界

    从单声道.立体声.环绕声发展到三维声,音频回放技术的迭代演进是为了还原真实世界的声音.其中,三维声技术使用信号处理的方法对到达两耳的声音信号进行模拟,将声场还原为三维空间,更接近真实世界.凭借这个技术 ...

  3. WPF 截图控件之绘制箭头(五)「仿微信」

    前言 接着上周写的截图控件继续更新 绘制箭头. 1.WPF实现截屏「仿微信」 2.WPF 实现截屏控件之移动(二)「仿微信」 3.WPF 截图控件之伸缩(三) 「仿微信」 4.WPF 截图控件之绘制方 ...

  4. devops-1:代码仓库git的使用

    devops-gitlab 介绍 gitlab同github.gitee和bitbucket功能一致,都是提供一个存储代码的服务,这里就以gitlab为例,学习一下如何结合git工具使用. 核心组件: ...

  5. mybatis 04: mybatis对象分析 + 测试代码简化 + 配置优化

    MyBatis对象分析 测试代码示例 package com.example.test; import com.example.pojo.Student; import org.apache.ibat ...

  6. MySQL的三值逻辑

    MySQL 采用三值逻辑 SELECT 1 = 1; SELECT 1 = 2; SELECT 1 = NULL; SELECT 1 != NULL; 上面四条语句的结果分别为: 可见MySQL采用三 ...

  7. LuoguP2254 [NOI2005]瑰丽华尔兹 (单调队列优化DP)(用记忆化过了。。。)

    记忆化 #include <cstdio> #include <iostream> #include <cstring> #include <algorith ...

  8. JDK数组阻塞队列源码深入剖析

    JDK数组阻塞队列源码深入剖析 前言 在前面一篇文章从零开始自己动手写阻塞队列当中我们仔细介绍了阻塞队列提供给我们的功能,以及他的实现原理,并且基于谈到的内容我们自己实现了一个低配版的数组阻塞队列.在 ...

  9. java-重载、包修饰词以及堆栈管理

    1.方法的重写(Override):重新写.覆盖 1)发生在父子类中,方法名称相同,参数列表相同,方法体不同 2)重写方法被调用时,看对象的类型2.重写与重载的区别: 1)重写(Override): ...

  10. Fiddler抓包工具下载安装及使用

    一.Fiddler简介 简介: Fiddler是一款强大的Web调试工具,他能记录所有客户端和服务器的HTTP/HTTPS请求 工作原理: Fiddler是以代理web服务器的形式工作的,它使用代理地 ...