接口测试--Postman常用断言

news2024/12/23 15:31:49
Postman的断言是用javascript语言写的

引入--什么是断言

结果中的特定属性或值与预期做对比,如果一致,则用例通过,如果不一致,断言失败,用例失败。断言,是一个完整测试用例所不可或缺的一部分,没有断言的测试用例仅仅是测试步骤。

1.断言状态码--Status codeCode is 200

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

 解释:

  1. pm是一个全局对象,代表了postman运行时的环境,并且他提供了一些列内置的方法和属性
  2. test是postman封装的一个方法,pm.test()用于创建并定义一个测试用例,它接受两个参数:测试用例的描述(作为字符串)和一个回调函数(用于编写测试逻辑)
  3. "Status code is 200"是字符串,用于描述该测试用例的名称.它并不是固定的写法,而是可以根据具体需求自定义的
  4. function()是一个匿名函数(也叫回调函数),作为参数传递给pm.test()
  5. pm.respose对象访问测试请求的响应,并使用.to.have.stasus(200)来断言响应的状态码是否为200

2.断言响应体的内容包含某字符串--Response body: Contains string

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
  1. pm.response.text()是一个内置方法,.response获取API接口响应的内容,.text()转换获取的内容为文本形式
  2. pm.expect():断言方法,用于断言特定的条件是否正确
  3. .to.include("string"):断言条件,检查钱买你获取的响应是否包含指定的字符串.真通过,假不通过

3.断言Json数据--Response body: JSON value Check

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});
  1. pm.response.json()是一个内置方法,.response获取API接口响应的内容,.json()转换获取的内容为json格式
  2. var jsonData:声明一个jsonData变量,用于接收返回的json格式数据
  3. .to.eql():比较实际值和预期值,相同则通过,不同则不通过

4.断言响应头--Response headers: Content-Type header check

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});

1.对响应头里中的值(header)进行判断,是否包含对应的属性 

5.断言响应时间/速度--Response time is less than 200ms

pm.test("验证响应时间小于200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1045788.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven下载、本地仓库设置与idea内置maven设置

一、下载安装maven maven下载官网:https://maven.apache.org/download.cgi 下载到本地后解压 二、配置环境变量 我的电脑-属性-高级系统设置-环境变量/系统变量 新建MAVEN_HOME 变量值为自己的maven包所在的位置 编辑path 添加 %MAVEN_HOME%\bin 三、测试 Win…

【面试八股】IP协议八股

IP协议八股 子网掩码的作用为什么IP协议需要分片IP协议什么时候需要分片IP协议是怎么进行分片的那么IP协议是如果进行标识属于同一个分片呢?TCP协议和UDP协议将数据交给IP协议之后,是否需要分片传输? 子网掩码的作用 用来标识网络号和主机号…

华为数通方向HCIP-DataCom H12-831题库(单选题:181-200)

第181题 以下关于OSPF的5类LSA中的转发地址(ForwardingAddress,FA) 的描述,正确的是哪一项? A、当FA地址为0.0.0.0时,收到该LSA的路由器认为到达目的网段的数据包应该发往对应的ABR,因此将到达ABR的下一跳地址作为这条外部路由的下一跳 B、当FA地址为0.0.0.0时,收到该LS…

Excel·VBA日期时间转换提取正则表达式函数

标准日期转换 Function 标准日期(ByVal str$) As DateDim pat$, result$arr Array("(\d{4}).*?(\d{1,2}).*?(\d{1,2})", "(\d{4}).*?(\d{1}).*?(\d{1,2})")If Len(str) < 8 Then pat arr(1) Else pat arr(0)With CreateObject("vbscript.r…

C# MQTT通讯

文章目录 前言MQTTnetMQTT初始变量生成option连接Mqtt服务器发送数据添加订阅 前言 MQTTnet是Mqtt的net版本。国内MQTTnet教程比较老旧&#xff0c;都是2.x版本。MQTTnet在4.x版本版本代码逻辑有比较大的改动。所以最后还是面向Github编程。 EMQ X介绍及安装 长链接(MQTT)测…

Mybatis3详解 之 MyBatis 基础

一、Mybatis 介绍 1、什么是Mybatis MyBatis本是Apache的一个开源项目iBatis&#xff0c;2010年这个项目由Apache Software Foundation迁移到了Google Code&#xff0c;并且改名为MyBatis&#xff0c;也就是从3.0版本开始 iBatis改名为MyBatis。并且于2013年11月迁移到Github…

集约管控、按需分配:和鲸聚焦 AI for Science 科研算力高校调配

随着人类社会进入信息时代的智能化阶段&#xff0c;数据逐渐成为基础生产要素之一&#xff0c;而算力也因此成为重要生产力。《学习时报》9 月 3 日发文《算力为何如此重要》&#xff0c;文中指出&#xff0c;人工智能技术的突破与产业数字化应用对算力提出了更高的要求&#x…

怎么把一个音频平均拆分成多个?3个方法快速拆分

怎么把一个音频平均拆分成多个&#xff1f;近年来&#xff0c;随着音频文件在日常生活和工作中的广泛应用&#xff0c;人们对于对音频进行编辑、处理和转换的需求也越来越高。由此&#xff0c;音频编辑软件应运而生&#xff0c;可帮助我们轻松地剪辑、切分、编辑和转换音频文件…

Blender纹理UV映射快速入门

推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 Blender 的功能包括 UV 映射&#xff0c;它是指将 3D 模型的表面展开到 2D 平面上并将纹理或图像应用到模型表面的过程。 这是创建具有真实纹理的 3D 模型的重要组成部分。 最新版本的 Blender (3.4) 包含有用的更新和功能…

大规模语言模型的模型结构--解码器结构(PaLM,BLOOM,InstructGPT系列)

与编码器结构(encoder-only) 的语言模型结构相反&#xff0c; 解码器结构(decoder-only) 的语言模型结构只包含trans- former 结构里的 decoder 部分。在 BERT 发布之前的 GPT- 1 就是 decoder-only 的语言模型&#xff0c; 但在 GPT-3 发布并展 示其惊人表现后&#xff0c; de…

PSINS工具箱学习(二)姿态的表示:姿态阵、四元数、欧拉角、等效旋转矢量的概念和转换

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、基础概念1、坐标系定义1. 惯性坐标系&#xff08; i 系 &#xff09;2. 地心地固坐标系&#xff08; e 系 )3. 导航坐标系&#xff08; n 系&…

Tomcat报404问题的原因分析

1.未配置环境变量 按照需求重新配置即可。 2.IIs访问权限问题 注意:这个问题有的博主也写了,但是这个问题可有可无,意思是正常情况下,有没有都是可以访问滴放心 3.端口占用问题 端口占用可能会出现这个问题,因为tomcat的默认端口号是8080,如果在是运行tomcat时计算机的…

深度学习与视频直播美颜sdk:背后的技术革新

时下&#xff0c;深度学习技术在视频直播美颜sdk中的应用正引领着一场技术革新的浪潮。本文将探讨深度学习如何在视频直播美颜sdk背后推动了技术的革新&#xff0c;以及它是如何影响我们的日常直播体验的。 一、传统美颜技术的局限性 在深入探讨深度学习之前&#xff0c;让我们…

目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型

目标识别项目&#xff1a;基于Yolov7-LPRNet的动态车牌目标识别算法模型(一) 前言 目标识别如今以及迭代了这么多年&#xff0c;普遍受大家认可和欢迎的目标识别框架就是YOLO了。按照官方描述&#xff0c;YOLOv8 是一个 SOTA 模型&#xff0c;它建立在以前 YOLO 版本的成功基…

MacOS Sonoma 14更新:优化小组件、升级视频会议、沉浸式游戏体验等

苹果今天发布新闻稿&#xff0c;宣布以免费软件更新形式&#xff0c;正式发布 macOS Sonoma&#xff0c;为 Mac 带来一系列丰富新功能。 在 macOS Sonoma 中&#xff0c;桌面小组件解锁了个性化 Mac 与提升效率的全新方式&#xff0c;引入精美的新屏幕保护程序、视频会议和 Saf…

golang工程——grpc TLS配置

TLS配置 非对称加密流程 TLS流程 这是单向TLS流程 ECDHE握手过程&#xff08;图片来自透视Http协议课程&#xff09; 浏览器发送Client Hello消息 客户端向服务器打招呼&#xff0c;消息中包含客户端生成的随机数C&#xff0c;客户单的TLS版本号&#xff0c;可使用的密码套…

SkyWalking分布式链路追踪学习

为什么要用分布式链路追踪 实际生产中&#xff0c;面对几十个、甚至成百上千个的微服务实例&#xff0c;如果一旦某个实例发生宕机&#xff0c;如果不能快速定位、提交预警&#xff0c;对实际生产造成的损失无疑是巨大的。所以&#xff0c;要对微服务进行监控、预警&#xff0…

nodejs进阶知识

文章目录 写在前面一、dependencies、devDependencies和peerDependencies区别&#xff1a;二、需要牢记的npm命令2.1 npm2.2 npm config list2.3 npm配置镜像源 三、npm install 的原理四、package-lock.json的作用五、npm run 的原理六、npx6.1 npx是什么6.2 npx的优势6.3 npm…

linux使用md5sum校验下载文件是否完整/被篡改

素材&#xff1a;cuda的run文件&#xff08;见下图&#xff09;。 网址&#xff1a;点击这里 任务&#xff1a;检验下载的cuda_11.7.0_515.43.04_linux.run文件是否完整。 步骤&#xff1a; 图片下方倒数第2行&#xff0c;提供了文件的checksum。 找到我需要的checksum&#…

用Python让字符串整齐排列:左对齐、右对齐还是居中对齐?

文章目录 左对齐使用字符串的对齐属性使用`format`函数右对齐使用字符串的对齐属性使用`format`函数居中对齐使用字符串的对齐属性format 居中对齐多行字符串居中对齐在Python中,可以使用字符串的对齐属性以及format函数来实现字符串的对齐。下面将分别介绍左对齐、右对齐、居…