​软件测试知多少:Postman​接口自动化测试

news2024/12/22 14:50:05

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

一、数据驱动

想要批量执行接口用例,我们一般会将对应的接口用例放在同一个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、运行结果如下所示

二、定期任务

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

三、接口依赖

接口依赖就是在执行一个接口时,其数据会依赖于其他接口,其本质上是一个接口数据传递的问题。例如:比如在删除用户时,必须要求携带相应的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脚本中何处被调用,它都只在当前脚本最后才被真正执行。

四、写在最后 

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

☑ 240集-零基础到精通全套视频课程
☑ [课件+源码]-完整配套的教程
☑ 18套-测试实战项目源码
☑ 37套-测试工具软件包
☑ 268道-真实面试题
☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

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

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

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

相关文章

11.初始JavaScript[初步了解何为js]

文章目录 1.初识 JavaScript1.1JavaScript 是什么1.2发展历史1.3JavaScript 和 HTML 和 CSS 之间的关系1.4JavaScript 运行过程1.5JavaScript 的组成 2.前置知识2.1第一个程序2.2JavaScript 的书写形式2.2.1行内式2.2.2内嵌式2.2.3外部式 2.3注释2.4输入输出2.4.1输入: prompt2…

WSL重装Anaconda

第一次安装使用的是官网下载的文件,存放在Windows中进行安装的,结果安装后有一些小错误,现在想重新安装过。 一、卸载原Anaconda 首先要知道Anaconda的安装地址,默认地址为:C:\Users\用户名\AppData\Local\Packages\…

Linux ————​文件权限

(一)文件权限 基础补充 文件基本属性(Linux中万物皆是文件)文件是操作系统用来存储信息的基本结构,是一组信息的集合。文件通过文件名来唯一标识。Linux中的文件名称最长允许255个字符,这些字符可用A~Z、0…

【小程序图片水印】微信小程序图片加水印功能 canvas绘图

看看效果 实现步骤: 1.选择图片 /* 选择背景图片 对图片的大小以及类型做一下限制 */ chooseImage(e) {uni.chooseImage({count: 1,success: (res) > {let index res.tempFilePaths[0].lastIndexOf(".");let imgUrl res.tempFilePaths[0].substr(i…

【设计模式】第3节:设计模式概论

设计模式不是代码,而是某类问题的通用方案。设计模式的本质是提高软件的维护性、通用性和扩展性,并降低软件的复杂度。一共有24种设计模式,可以分为创建型模式、结构型模式和行为型模式三大类。设计模式中比较重要的有:单例模式、…

seata at模式死锁

背景 mysql版本为5.7,在mysql的系统表中,有一个lock_deadlocks的指标 SELECT * FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE name LIKE %deadlock%该指标的count值记录了数据库实例从启动到现在的死锁次数,我们通过普罗米修斯的mysql探针&#xff0…

软件外包开发的代码质量控制

软件代码质量控制是确保软件项目成功的重要组成部分。以下是一些常见的软件代码质量控制方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.代码审查(Code Review) 通过定…

Zynq UltraScale+ XCZU15EG 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

目前比较好用的护眼台灯?央视公认最好的护眼台灯推荐

写这篇文章的时候,我总有种悔不当初的痛感:上学时只喜欢造型好看的台灯,总是把老妈买的护眼灯丢在一边,导致现在眼睛高度近视。虽然不念书了,但平日使用电脑浏览信息、阅读纸质书仍是抛弃不掉的生活习惯,配…

Redis实现方式开启新篇章,解决分布式环境下的资源竞争问题,提升系统稳定性

前言 分布式锁一般有三种实现方式: 数据库乐观锁;基于Redis的分布式锁;基于ZooKeeper的分布式锁 本篇博客将介绍第二种方式,基于Redis实现分布式锁。 虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实…

万字长文搞懂产品模式和项目模式

项目模式是很多传统企业对IT进行投资的方式,相对于产品模式,项目模式在团队建设、快速反应等方面存在很多弊端,本文从多个角度比较了产品和项目两种团队模式的利弊,并在最后回答了若干常见问题。原文: Products Over Projects 软件…

活动回顾|KCD 2023 杭州站

KCD 2023 活动介绍 HANGZHOU 关于 KCD Kubernetes Community Days(KCD)由云原生计算基金会(CNCF)发起,由全球各国当地的 CNCF 大使、CNCF 员工以及 CNCF 会员单位联合组织。目前 KCD 正在全球各个国家活跃地组织进行中…

nvidia-smi

1、说明 nvidia-smi 是 NVIDIA System Management Interface 的缩写,是 NVIDIA 提供的一个命令行工具,用于查看和管理 NVIDIA GPU 设备的信息。执行这个命令通常可以获取关于系统上安装的 NVIDIA GPU 的实时状态和性能信息。 一般来说,nvid…

内裤洗衣机有用吗?公认好用的四大款内衣洗衣机推荐

内衣目前洗衣机已经成为我们生活中不可缺少的一种电器。这不但可以节约我们的时间,而且能更好地清洗干净贴身衣物,使我们的生活变得更健康。那么到底哪些内衣洗衣机值得买呢?哪些内衣洗衣机清洗效果会更干净呢?这次,我…

众和策略:谷歌大跌!土耳其股市,两度熔断!

当地时间周三,美股三大指数团体收跌,谷歌等大型科技股连累纳指大跌超2%,创2月以来最大单日跌幅。 当日,谷歌股价大跌近10%至三个月低位,市值一夜蒸发超1600亿美元。周二盘后,谷歌母公司Alphabet发布了最新…

FinalShell或者XShell工具 突然连不上服务器(绝对好使!)

关闭网络管理器 systemctl stop NetworkManager禁止网络管理器开机重启 systemctl disable NetworkManager重启网络 service network restart绝对好使!

技术实力获行业高度认可,几何伙伴首获科技进步奖殊荣!

2023年10月25日,“2023年度中国汽车工程学会科学技术奖”正式公布并于北京举行颁奖典礼,以对汽车工业努力奋斗、勇于创新的优秀企业和人才进行嘉奖,对优秀先进成果进行表彰。 其中,由几何伙伴主导,携手上汽集团、友道智…

睿趣科技:抖音小店在哪里选品

随着抖音平台的日益火爆,越来越多的商家选择在抖音小店开设自己的店铺。然而,对于许多新手来说,如何选品却成为了一个难题。那么,抖音小店应该在哪里选品呢? 首先,我们可以从抖音平台上的热门商品入手。通过观察抖音上…

创业酵母:为创业酵母的新增长,数字化“发酵”

成立于2014年11月的创业酵母是一家以教育和咨询为核心的一站式企业服务平台。 张丽俊(Cherry)和俞朝翎(俞头)是创业酵母的两位创始人,由于两位创始人都是第一代阿里人,他们希望能将自己在阿里沉淀下来的经验…

NPDP产品经理证书是什么行业的证书?

NPDP是一个跨行业的证书,它适用于各种不同类型和规模的组织。无论是制造业、服务业还是科技领域,都可以从NPDP认证中获益。 1. 制造业: 制造业涉及大量的产品开发和创新活动。从汽车制造到电子设备制造,从家居用品到航天航空&…