当前位置: 首页 > news >正文

Postman进阶功能实战演练

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

Postman除了前面介绍的一些功能,还有其他一些小功能在日常接口测试或许用得上。今天,我们就来盘点一下,如下所示:

1.数据驱动

想要批量执行接口用例,我们一般会将对应的接口用例放在同一个Collection中,然后再通过Runner批量执行。这种方式适用于接口用例参数固定的情况下,但也存在另一个问题,如果每次运行时,接口参数都在变化,该如何操作了?

认真看过前面文章的童鞋可能已经猜到,将变量参数化就可以了。但这种方式,存在也存在另外一个问题,就是需要每次将参数提前设置好,比如在Pre-request Script中设置如下:

pm.environment.set("username","Surpass") pm.environment.set("password","Surpass")

使用Pre-request Script设置环境变量并进行赋值不论运行多少次,其实还是用固定的的数据进行测试。

既然以上两种方式都不能解决我们的问题,那将数据写到文件中,然后从文件中读取是不是可以?在Postman中其实也提供了这种方式。

这种用于存放测试数据的文件,一般称之为测试数据集

在Postman中测试数据集支持两种格式csv和json

csv格式

username,password Surpass,Surpass Kevin,Kevin Diana,Diana ...

json格式

[ { "username": "Surpass", "password": "Surpass" }, { "username": "Kevin", "password": "Kevin" }, { "username": "Diana", "password": "Diana" } ]

数据格式类似于表格,第一行对应变量名,后面数据对应相应的测试数据

下面来看看操作步骤:

1、打开Run Collection界面,填写运行次数、导入测试数据集,最后点击Run Collection

2、运行结果如下所示:

2.定期任务

Postman提供了一个Monitor功能,支持提交具有定时功能的测试任务,可以按设置的定时器执行接口用例,操作如下所示:

3.接口依赖

接口依赖就是在执行一个接口时,其数据会依赖于其他接口,其本质上是一个接口数据传递的问题。例如:比如在删除用户时,必须要求携带相应的token,而token则是在用户登录后才会产生。

3.1 接口执行顺序

1.默认执行顺序

在Postman中默认的执行顺序,是按照在Collection中的目录顺序执行,即从上到下依次执行。

2.自定义执行顺序

如果按默认的目录顺序执行,通常无法其业务需求,好在Postman提供了一个函数 postman.setNextRequest("你要跳转的接口名"),支持跳转到指定接口执行。例如:在执行完接口用户查询后,跳过接口用户新增,直接跳转执行修改密码,示例如下所示:

1、在用户查询接口Tests中添加如下代码:

if(pm.response.code == 200 && pm.response.text().toString().indexOf("username")!=-1 ){ // 如果 响应码为 200 且 返回body中包含username,则代表查询成功 pm.test["query"] = true; var responseBody=pm.response.json() var username=responseBody.args.username var password=responseBody.args.password pm.environment.set("modifyUsername",username) pm.environment.set("modifyPassword",password) console.log("go to request : 修改密码") postman.setNextRequest("修改密码") } else{ pm.test["query"] = false }

2、在修改密码接口中Tests中添加如下所示:

console.log("run 修改密码接口") var responseBody=pm.response.json() var username=responseBody.form.username var password=responseBody.form.password console.log("修改密码接口 - username",username,"修改密码接口 - password",password)

3、查看运行结果如下所示:

在使用自定义接口执行顺序时,需要注意以下几点:

postman.setNextRequest()仅在运行集合测试时生效,即在Run Collection时才生效,单独运行接口时不生效

postman.setNextRequest()在运行时,在跳转时会忽略跳转时中间包含的接口,跳转后的接口如果仍然有接口则继续运行后续接口,即如果有接口A/B/C/D/E/F,如果设置的跳转条件为A->D,则最终执行的接口顺序为A->D->E->F,B和C接口被忽略

跳转指定的接口必须位于同一个Collection内

postman.setNextRequest()函数不管在Tests脚本中何处被调用,它都只在当前脚本最后才被真正执行。

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

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

http://www.cnnetsun.cn/news/6041.html

相关文章:

  • 数据结构——二叉树
  • Qwen3-Next-80B-A3B-Thinking:仅激活3B参数实现800亿模型性能,大模型效率革命深度解析
  • 揭秘FSNotes:现代笔记管理的智能解决方案实战指南
  • Wan2.2-T2V-A14B在游戏开发中的应用:快速制作剧情动画
  • Redmine项目管理平台终极使用指南:新手必读FAQ
  • 3大核心技能带你玩转大规模并行处理器编程
  • 轻松捕获网络视频:Video DownloadHelper 1.6.3版全方位使用指南
  • 三相OW-PMSM无感电机仿真:基于零序反电动势的DQ轴数学模型与双逆变器调制策略的研究与实践
  • Java开发者的人工智能转型之路:可行性、优势、薪资对比及学习路线全解析!
  • Java包装类与自动装箱拆箱深度解析
  • 大模型Agent开发进阶:Memory系统与RAG的本质区别与应用!
  • 从零到一:5步用FutureCoder开启Python编程之旅
  • Wan2.2-T2V-A14B生成视频的加载性能优化技巧
  • DeepAnaX系统战略升级:深度集成“DeepSeek数据统计分析系统”,引领AI生态营销智能化
  • 如何快速上手Wot Design Uni:面向开发者的完整实战指南
  • AI校园学习神器|让背书刷题变成快乐小事[特殊字符]
  • #leetcode# 、
  • 开源对象存储项目一览
  • 跨语言智能对话革命:PaddleX多语种语音识别实战指南
  • Wan2.2-T2V-A14B能否取代传统视频剪辑师?业内专家这样说
  • 热力图技术实战指南:从基础应用到企业级解决方案
  • DeepSeek+Dify构建智能体和企业知识库资料
  • 终极Arial字体资源库:获取与完整使用指南
  • 揭秘多模态Agent服务协同瓶颈:如何用Docker Compose实现高效编排?
  • Axure RP中文汉化包:打造本土化原型设计新体验
  • WhiteSur桌面主题系统集成深度解析
  • 如何免费快速实现跨平台歌单迁移:GoMusic终极指南 [特殊字符]
  • redis持久化|主从复制|哨兵模式
  • 我用 Koodo Reader 搭建了一个“自己的云端电子书图书馆”:全平台同步、在线阅读太爽了
  • 教你用服务器搭建一个极致顺滑的终端环境:让 WindTerm 发挥真正实力