Postman持久化保存/设置断言详解

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

postman持久化保存

1、点击postman的Collections页签,点击 + New Collection创建(可以当成项 目并重命名)

2、新增后,再点击Collection中的“ ... ” ,然后点击“Add Folder”,新建一个文件 夹(可以当成模块,可重命名),再右击Add Request新建一个请求(可重命名)

3、点击右侧的Save按钮,在弹出的对话框中选择刚新建立的模块,修改该接口 的名称,然后点击save按钮即可

postman导入导出接口项目

导入接口项目:
点击Import ,在弹框中点击Upload Files 选择想要上传的文件;如下图

导出接口项目:
右击New Collection再点击"export",会下载一个名为 "*.json.postman_collection".(此文件可直接导入到Postman中)

通过链接分享并导入到postman中

链接分享 (前提条件是要在登录的状态下)
首先选中项目——再右侧界面点击share——Via JSON link——Get JSON link——点击复制按钮;如下图

链接导入到postman中,如下图

postman设置断言

作为一款接口测试工 具,postman需要对发送请求后返回的结果是否正确做验证,在postman中通过 tests页签做请求的验证,也称为断言。

postman设置断言的流程

1、在tests页签截取要对比的实际响应信息(响应头、响应正文、响应状态码等)
2、利用断言语句 tests[] 或 chai.js 形式把实际响应信息与期望结果对比
3、执行请求进行结果查看

在postman设置断言,存在新老版本的断言语法不一致的情况,目前两种语 法都可以使用:

语法一: tests[‘测试用例名称’] = 逻辑表达式

断言语法一视图:

postman在tests页签获取响应内容:

tests页签支持javascripts语法,可以把获取的响应内容放入定义的变量中。 然后使用tests[变量名]进行输出。

截取实际响应信息的新老版本代码对比;如下图

1、获取响应行

var code = responseCode.code; //获取响应状态码
var name = responseCode.name; //获取响应状态信息

2、获取响应头

var content_type = postman.getResponseHeader('Content-Type') //获取响应头
var path = postman.getResponseCookie('_ac_app_ua').path ; //获取cookie信息

3、获取响应正文

var body = responseBody

4、获取响应时间

var time = responseTime;

5、利用正则表达式截取部分响应正文

var title = body.match(new RegExp('<title>(.+?)</title>'))[1];

6、响应正文为json时,可以利用postman进行解析再获取部分响应正文

var jsondata = JSON.parse(responseBody); //把响应正文转化为json对象
var token = jsondata.access_token; //json对象名.键名

在tests页签中编写语法如下:

// 新旧版本写法------------ //获取响应行 //旧版本 var code = responseCode.code //获取响应状态码 tests["case_demo_01: 验证响应状态码是否为200"] = code === 200 //做断言 var name = responseCode.name //获取响应状态信息 tests["case_demo_02: 验证响应的状态信息是否正确"] = name === "OK" //新版本 var code = pm.response.code //获取响应状态码 tests["case_demo_001: 验证响应状态码是否为200"] = code === 200 //做断言 var name = pm.response.status //获取响应状态信息 tests["case_demo_002: 验证响应的状态信息是否正确"] = name === "OK" //获取响应头 //旧版本 var content_type = postman.getResponseHeader('Content-Type') //获取响应头 tests["case_demo_03: 验证响应头是否正确"] = content_type === "application/json; encoding=utf-8" //新版本 var content_type = pm.response.headers //获取响应头 tests["case_demo_003: 验证响应头是否正确 "+content_type] = true // 获取响应时间 //旧版本 var time = responseTime tests["case_demo_04: 验证响应时间是否正确 "+ time] = true tests["case_demo_004: 验证响应时间是否在100-500ms以内返回"] = time >=100 && time<=500 //新版本 var time = pm.response.responseTime tests["case_demo_00004: 验证响应时间是否正确 "+ time] = true //获取响应正文 text //旧版本 var body = responseBody tests['case_demo_05: 验证响应正文是否正确 '+ body] = true tests["case_demo_005: 验证响应正文是否包含 7200"] = body.has("7200") //判断是否包含 //新版本 var body = pm.response.text() tests['case_demo_0005: 验证响应正文是否正确 '+ body] = true var title = body.match(new RegExp('<title>(.+?)</title>'))[1]; //利用正则表达式截取部分响应正文 tests["case_demo_00005: 验证响应正文中的title是否包含 猫_百度搜索"] = title === "猫_百度搜索" //json格式响应正文 通过json视图更清晰 //旧版本 var jsondata = JSON.parse(responseBody) //把响应正文转化为json对象 var expires_in = jsondata.expires_in //json对象名.键名 tests["case_demo_06: 验证json格式响应正文是否正确 "] = expires_in === 7200 //新版本 var jsondata = pm.response.json() //把响应正文转化为json对象 var expires_in = jsondata.expires_in //json对象名.键名 tests["case_demo_006: 验证json格式响应正文是否正确 "] = expires_in === 720

断言的展示结果如下图:

语法二: Chai.js断言库,可以通过右侧页签点击生成代码(新版本写法-推荐)

chai.js断言介绍:

1、是一套TDD(测试驱动开发)/BDD(行为驱动开发)的断言库
2、包含有3个断言库支持BDD风格的expect/should和TDD风格的assert
3、可以高效的和任何js测试框架搭配使用(支持在postman中应用)

断言语法二视图:

在tests页签中编写语法如下:

//新版本写法------ pm.test("测试用例标题", function () { pm.expect(true).to.be.true; //chai.js断言编写处 }); pm.test("case_demo_01 *****", function () { pm.expect(2<5 && 3<6).to.be.true //判断是否为true }); pm.test("case_demo_02 *****", function () { pm.expect("everything").to.be.ok //判断是否为真值 非空、非0 即为真 }); pm.test("case_demo_03 *****", function () { pm.expect("hello").to.equal("hello") //判断是否相等 }); pm.test("case_demo_04 *****", function () { pm.expect({list:"aaa"}).to.eql({list:"aaa"})//判断是否深度相等 }); pm.test("case_demo_05 *****", function () { pm.expect("foobar").to.have.string("bar") //判断是否包含字符串 }); pm.test("case_demo_06 *****", function () { pm.expect("foobar").to.match(/^foo/) //判断是否包含,支持正则表达式 }); //实例------ //响应行的状态码 pm.test("case_demo_07 *****", function () { pm.expect(pm.response.code === 200).to.be.true //判断响应状态码是否为200 }); //响应行的信息 pm.test("case_demo_08 *****", function () { pm.expect(pm.response.status === "OK").to.be.true //判断响应状态信息是否为OK }); //响应正文 text pm.test("case_demo_09 *****", function () { pm.expect(pm.response.text()).to.have.string("猫_百度搜索") //判断响应正文中是否包含猫_百度搜索 }); //响应正文 json pm.test("case_demo_10 *****", function () { var jsonData = pm.response.json(); pm.expect(jsonData.expires_in).to.eql(7200); //判断json响应正文中是否有7200 });

断言的展示结果如下图:

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

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

相关文章

Postman介绍和安装,发送带参数的GET请求

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 postman的介绍和安装 Postman的介绍 Postman 是一款谷歌开发的接口测试工具,使API的调试与测试更加便捷。 它提供功能强大的 Web API & HTTP 请求调试。…

UI自动化测试:Jenkins配置详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 团队下半年的目标之一是实现自动化测试&#xff0c;这里要吐槽一下&#xff0c;之前开发的测试平台了&#xff0c;最初的目的是用来做接口自动化测试和性能测试…

芒格的“概率思维“:在不确定性中做出明智决策

芒格的“概率思维”&#xff1a;在不确定性中做出明智决策关键词&#xff1a;芒格、概率思维、不确定性、明智决策、投资、生活应用摘要&#xff1a;本文深入探讨了芒格的“概率思维”&#xff0c;这种思维方式能够帮助我们在充满不确定性的世界里做出明智的决策。文章首先介绍…

告别信息孤岛,商联达让总部-区域-门店数据实时同频

在消费市场日益多元、连锁经营规模持续扩张的今天&#xff0c;“总部统筹全局区域灵活适配门店精准落地”成为企业突围的核心诉求。然而&#xff0c;传统经营模式下&#xff0c;数据割裂形成的“信息孤岛”&#xff0c;却成为制约企业发展的隐形壁垒&#xff1a;总部难以及时掌…

农资行业B2B多租户商城系统推荐,适配农业经销商层级管理

在农业现代化与数字化转型的双重驱动下&#xff0c;农资行业正逐步摆脱传统分销模式的桎梏。传统农资流通存在渠道层级繁杂、信息传递滞后、供应链协同效率低下等痛点&#xff0c;数据显示&#xff0c;农资产品从生产端到终端用户的流通环节平均需经过4-6级分销&#xff0c;每增…

导师严选10个AI论文网站,MBA高效写作必备!

导师严选10个AI论文网站&#xff0c;MBA高效写作必备&#xff01; AI 工具如何助力论文写作&#xff1f; 在当今快节奏的学术环境中&#xff0c;MBA 学生和研究人员面临着日益繁重的论文写作任务。传统的写作方式不仅耗时费力&#xff0c;还容易受到灵感枯竭、结构混乱等问题的…

2026年1月变电设备六氟化硫泄漏检测仪品牌推荐

在电力行业&#xff0c;特别是变电设备领域&#xff0c;六氟化硫&#xff08;SF6&#xff09;气体的绝缘与灭弧性能至关重要&#xff0c;但其泄漏不仅会导致设备故障&#xff0c;更是一种强效温室气体。因此&#xff0c;选择一款可靠、精准的六氟化硫泄漏检测仪是保障电力安全与…

寒假spark学习1 - 2305

寒假spark学习1今天学习了Scala 语言基础以下是总结: 学习了计算级数的方法即: case class Point(var x:Double,var y:Double) extends Drawable{ def shift(deltaX:Double,deltaY:Double){x+=deltaX;y+=deltaY} } t…

Java中为何float类型比long类型取值范围大?

float占4字节,long占8字节,第一反应是long的取值范围更大。不然,因为二者存储数的方式不同,float采用科学计数法存储,long直接用二进制形式存储数。 long占8字节,64位中最高一位是符号位,表示的最大数是2^63 - …

XMLHttpRequest基础使用

一、XMLHttpRequest基础使用的4大步骤如下: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content…

【近邻传播聚类算法(AP算法)】此种聚类算法不需要实现给出聚类数目和聚类中心操作便捷附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

【计算一维频域 EM 数据的解析灵敏度】频域 EM 数据解析灵敏度矩阵的计算附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真…

【交替方向乘子法】ADMM和光谱近邻算子在高光谱宽带相位恢复中的应用于定量相位成像附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真…

【均布载荷悬臂梁的支座位置优化】用于计算悬臂梁的最优支座位置,以减小其最大弯矩研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

不容错过!提示工程架构师提升响应速度的实用指南

提示工程架构师必看:从原理到落地的响应速度优化实用指南 副标题:覆盖Prompt设计、模型调优、系统架构全链路的可落地方法论 摘要/引言 在LLM(大语言模型)应用爆发的今天,响应速度已经成为产品体验的“生死线”——用户能容忍的等待时间通常不超过3秒(参考ChatGPT的平…

【图像压缩】基于matlab DCT快速分形图像压缩【含Matlab源码 15011期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…

【图像压缩】基于matlab DCT分形图像压缩(含PSNR)【含Matlab源码 15010期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…

学霸同款AI论文平台TOP8:研究生开题报告神器测评

学霸同款AI论文平台TOP8&#xff1a;研究生开题报告神器测评 学术写作工具测评&#xff1a;为何需要这份2026年榜单 随着AI技术在学术领域的深入应用&#xff0c;越来越多的研究生开始依赖智能写作平台提升论文效率。然而&#xff0c;面对市场上琳琅满目的AI论文工具&#xf…

【图像加密解密】基于matlab多MSB预测和霍夫曼编码的可逆数据隐藏于加密图像中的应用【含Matlab源码 15020期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…