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

news/2025/11/29 10:54:03/文章来源:https://www.cnblogs.com/yangykaifa/p/19285440

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

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('(.+?)'))[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
});

断言的展示结果如下图:

postman本篇总结 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

为什么说 y = a₁x₁ + a₂x₂ + b 是线性的?

为什么说 y = a₁x₁ + a₂x₂ + b 是线性的? 0. 开场白 很多人第一次看到这个方程都会点头:“嗯,线性!” 可一旦追问“为什么”,答案往往只剩一句:“因为图像是一条直线……呃不,一张平面?” 故事还没完。今天…

2025年11月干燥设备最新推荐厂家,桨叶干燥机、真空干燥机、污泥烘干机、喷雾干燥机、流化床干燥机

当前化工、环保、食品等领域对干燥设备的需求日益专业化,能效控制、处理效率、物料适应性等核心指标持续提升。然而,市场上设备供应商水平参差不齐,部分产品存在热效率低下、温度均匀性差、稳定性不足或售后维护不及…

2025年评价高的OA系统办公软件高性价比推荐

2025年评价高的OA系统办公软件高性价比推荐开篇:OA系统市场现状与发展趋势随着数字化转型浪潮席卷全球,办公自动化(OA)系统已成为企业提升管理效率、实现协同办公的核心工具。2024年数据显示,中国OA系统市场规模已突…

2025年11月干燥机最新推荐厂家,桨叶干燥机、真空干燥机、喷雾干燥机、污泥烘干机

当前化工、环保、食品等行业对干燥设备的需求日益精细化,物料适配性、能耗控制、运行稳定性等核心诉求持续升级,但市场上设备厂家资质参差不齐,部分产品存在干燥效率不足、物料处理均匀度差、售后保障薄弱等问题,导…

公考面试服务TOP5权威推荐:专业可靠之选,助你上岸无忧

近年来,公考热度持续攀升,2024年国考报名人数突破290万,面试环节成为考生上岸的关键拦路虎。然而,市场上公考面试培训机构良莠不齐,考生常陷入价格虚高模板化教学师资注水的困境——某机构因讲师无实战经验导致学…

2025公职面试培训TOP5推荐:聚焦白雪面试的自信心、亲和

2024年公职考试数据显示,面试环节淘汰率高达65%,考生对个性化教学实战模拟的需求同比增长55%,但32%的投诉集中在模板化教学师资不稳定缺乏岗位针对性三大问题。很多考生在面试备考中陷入背模板却不会灵活运用练了几…

2025年河南新媒体运营公司权威推荐榜单:ai搜索/短视频获客/GEO优化企业精选

在数字化经济蓬勃发展的背景下,新媒体运营已成为企业提升品牌影响力、拓展客户群体的核心驱动力。河南省作为中原经济区的重要枢纽,其新媒体服务市场近年来呈现高速增长态势。数据显示,2024年河南省企业新媒体渗透率…

2025年靠谱的服务器电源最新TOP厂家排名

2025年靠谱的服务器电源TOP厂家排名行业背景与市场趋势随着云计算、人工智能和大数据技术的快速发展,全球服务器市场正经历前所未有的增长。据IDC报告显示,2025年全球服务器市场规模预计将达到1500亿美元,年复合增长…

2025年强化楼梯板生产厂家权威推荐榜单:木地板/实木复合地板‌/新三层实木地板‌源头厂家精选

在居家环境与商业空间设计中,强化楼梯板以其出色的耐磨性、丰富的饰面选择和相对亲民的价格,正成为连接空间与美化环境的实用之选。 在建材选择日益注重实用性与美观度结合的今天,强化楼梯板凭借其高耐磨性、抗冲击…

2025年质量好的写字楼绿植租赁厂家最新权威推荐排行榜

2025年质量好的写字楼绿植租赁厂家权威推荐排行榜行业背景与市场趋势随着城市化进程加快和环保意识提升,写字楼绿植租赁市场近年来呈现爆发式增长。据行业报告显示,2024年中国绿植租赁市场规模已达85亿元,预计2025年…

换热器防腐领域十大龙头企业最新排名

这份榜单不是商业赞助的产物,而是联合行业专家拆解了 500 余家企业的三年数据,从三个维度搭建的价值坐标系,每一项指标都藏着解决实际问题的答案。当管道开始生锈:被忽略的工业隐痛 你可能没意识到,炼塔深处的管道…

2025年电磁粉料除铁机源头厂家权威推荐:电磁浆料除铁机/全自动粉料除铁器/旋转式除铁机源头设备精选

在工业原料处理和质量控制环节,电磁粉料除铁机已成为新能源、陶瓷、化工等行业不可或缺的关键设备。随着各行业对物料纯度要求的不断提高,电磁粉料除铁机市场需求持续增长,2025年市场规模预计将达到28亿元,同比增长…

2025年十大出境私人定制旅游公司推荐,专业出境定制旅行旅行

在全球化浪潮下,一场契合心意的出境旅行是无数人对远方的向往。面对市场上琳琅满目的出境定制旅行公司,如何挑选靠谱的伙伴?以下依据不同服务侧重,为你推荐2025年十大出境私人定制旅游公司,助你开启无忧旅程。一、…

2025年比较好的档案管理档案信息化建设趋势分析

2025年档案管理档案信息化建设趋势分析行业背景与市场趋势随着数字化转型浪潮席卷全球,档案管理信息化建设已成为企事业单位提升运营效率、保障数据安全、实现知识管理的重要战略。2023年国家档案局发布的《"十四…

2025年热门的企业团餐配送/公司团餐配送最新推荐及选购参考公司

2025年热门的企业团餐配送/公司团餐配送推荐及选购参考行业背景与市场趋势随着中国经济的持续发展和企业运营效率的不断提升,企业团餐配送行业正迎来前所未有的发展机遇。根据市场调研数据显示,2024年中国团餐市场规…

MySQL Server Docker 容器化部署指南

MySQL是世界上最流行的开源关系型数据库管理系统,由Oracle公司开发和维护。它以高性能、可靠性和易用性著称,广泛应用于从个人网站到企业级应用的各种场景。MySQL支持多用户、多线程操作,提供了丰富的SQL功能和强大…

2025年11月软膜灯箱最新推荐厂家,商业空间软膜灯箱、酒店软膜灯箱、别墅装饰软膜灯箱、户外广告软膜灯箱、室内照明软膜灯箱、定制化软膜灯箱

当前商业空间、酒店、别墅等场景对软膜灯箱的需求愈发精细化,照明均匀度、安装适配性、环保耐用性等核心诉求不断升级,但市场上设备厂家资质良莠不齐,部分产品存在透光不均、易老化、安装繁琐等问题,导致采购方在选…

HTML------------------单元格间距

<!DOCTYPE html> <html><head><meta charset="utf-8"><title>童心少年</title></head><body> <h4>没有单元格间距:</h4> <table bord…

2025年热门的全屋定制五金用户好评厂家排行

2025年热门的全屋定制五金用户好评厂家排行行业背景与市场趋势随着人们生活品质的不断提升和居住环境的持续改善,全屋定制行业近年来呈现出蓬勃发展的态势。作为全屋定制中不可或缺的重要组成部分,五金配件的品质与设…

为什么夏天副高会导致伏旱,而冬天的西伯利亚高原又会带来寒流

第一部分:地球气压是什么? 想象一下,我们每个人都活在一个空气海洋的底部。这个海洋就是大气层。 气压,就是这个“空气海洋”的深度和密度造成的压力。高气压:就像在空气海洋里,有一块地方的海水被压得更密实、更…