postman自动化测试如何设置环境变量教程

在接口测试中,我们经常会用到一些通用请求参数,或者需要使用某个接口的返回参数作为另一个接口的请求参数,静态的参数还好,如果是经常变动的参数,那么操作起来,就特别的麻烦,这时候,我们就可以利用postman工具中的环境变量,来简化流程操作,可以节省非常多不必要花费的时候,而且还不容易出现错误。

目录

一、创建环境变量目录

 二、创建接口测试目录

 三、设置环境变量

1、设置全局变量

2、设置环境变量

3、在请求接口中添加环境变量

四、Postman中的其它常用方法


一、创建环境变量目录

首先,我们创建一个名为test的环境变量目录。

 二、创建接口测试目录

然后,再创建一个接口测试目录,方便统计管理同一个项目下的接口。

选择指定刚才创建好的环境变量目录。

 三、设置环境变量

pm.environmentpm.globals主要在作用域和权重上有所不同。

pm.globals是全局变量,一旦设置,就可以在Postman的所有请求和测试脚本中使用。这为我们提供了一个在整个集合中共享数据的方便方式。

pm.environment则是环境变量,其权重高于全局变量。环境变量允许我们为不同的环境(如开发、测试、生产等)定义不同的值。这在进行API测试时非常有用,因为我们可以根据不同的环境使用不同的变量值。例如,我们可以在开发环境中使用一个测试数据库,而在生产环境中使用实际数据库。在使用代码操作的方式时,只需将globals替换为environment即可。在发起一个请求或一键发送所有请求时,我们可以勾选对应的环境来使用不同的变量。

1、设置全局变量

全局变量,全局可用,直接在globals里面设置即可。

2、设置环境变量

环境变量,如果是固定值,可以直接在所创建的环境变量目录中进行设置接口。如果是动态值,也可以在Pre-request Script和Tests中编写脚本进行动态添加。

3、在请求接口中添加环境变量

举个例子:比如我们需要在某个接口中,引用环境变量中的值,如何操作呢? 

首先添加一个环境变量:token:123

 我们随便发起一个请求,注意观察,发起的请求是否携带了,我们设置的环境变量,如果包含我们设置的环境变量,则表示设置成功。

如何通过脚本来设置环境变量呢? 我们可以在Pre-request Script编写代码实现。

pm.environment.set("token",456) // 环境变量
pm.globals.set("token",456)  //全局变量var environmentToken= pm.environment.get("token"); // 获取环境变量
console.log(environmentToken);
var globalsToken= pm.globals.get("token"); // 获取全局变量
console.log(globalsToken);

 4、将请求返回的参数,设置为环境变量

上面,我们已经实现了,在接口请求前的一些操作,那么应该如何实现,将一个接口的返回数据中的某个值,设置为环境变量呢?这里以微信公众号的一个接口作为例子,简单说明。

 通过调用接口,我们可以看到里面包含access_token参数,这个参数,需要作为另一个接口的请求参数进行调用。我们需要在当前调用即可中的Tests里面编写脚本。 

 

var access_token=pm.response.json()["access_token"]
console.log(access_token)
pm.environment.set("access_token",access_token)

最后,我们就可以通过之前的方式,直接获取到环境变量参数。 

 

四、Postman中的其它常用方法

1、pm.globals.get(variableName):获取全局变量。
2、pm.environment.get(variableName):获取环境变量。
3、pm.test(testName, callback):定义一个测试用例,用于验证请求的结果是否符合预期。
4、pm.expect(actualValue).to.eql(expectedValue):断言实际值等于预期值。
5、pm.sendRequest(url, callback):发送一个自定义的请求。
6、pm.responseTime:获取响应时间。
7、pm.responseCode:获取响应状态码。
8、pm.request.headers:获取请求头信息。
9、pm.request.url:获取请求的 URL。
10、pm.request.method:获取请求方法(如 GET、POST 等)。

等等……

更多postman方法使用可以参考在postman在线文档中进行查阅学习:Postman documentation overview | Postman Learning Center

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

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

相关文章

如何利用监管工具有效防止员工私单飞单?

在今天的商业社会中,企业必须保持高度的监管和控制力度,以确保员工遵守公司的规章制度和道德准则。尤其在微信成为了日常工作中不可或缺的沟通工具的情况下,如何有效防止员工进行私单飞单成为了每个企业亟需解决的问题。 而微信管理系统通过…

【CCF】JCR3区,SCIEI双检,征稿领域广,来稿不拒!

一、期刊简介 3区计算机类SCI&EI 【期刊概况】IF:2.0-3.0,JCR3区,中科院4区; 【终审周期】走期刊部系统,3个月左右录用; 【检索情况】SCI&EI双检; 【WOS收录年份】2001年&#xff…

应急响应-Windows-进程排查

进程(process)是计算机中的程序关于某数据集合上的一次运动活动,是系统进行资源分配和调度的基本单位,是操作系统结果的基础。在早期面向进程结构中,进程是线程的容器。无论是在Windows系统还是Linux系统中&#xff0c…

专业远程控制软件有哪些品牌

远程办公、远程控制类的软件很多,主打方向和面向的客户人群也不一样。个人用户可能更在意便捷、免费等因素;专业用户会更注重安全性、管理功能等。今天我们介绍几个在全球知名的专业商业远程软件。 1、TeamViewer 简介:TeamViewer &#xf…

2016年认证杯SPSSPRO杯数学建模B题(第一阶段)低分辨率下看世界全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 B题 低分辨率下看世界 原题再现: 数码摄像技术被广泛使用于多种场合中。有时由于客观条件的限制,拍摄设备只能在较低的分辨率下成像。为简单起见,我们只考虑单色成像。假设成像的分辨率为 32 64&#xff0c…

持续集成工具Jenkins的使用之安装篇(一)

Jenkins是一个基于Java开发的开源的一种持续集成工具,主要用于环境部署,监控重复性的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。要想使用它,你就必须的先安装,接下来我们就介绍下J…

win10重启以后才能识别有线耳机

最近遇到一件让人很无奈的事情,win10重启以后才能识别有限耳机。奇怪的是无线耳机没有问题。 bing搜索了很多,就是解决不了问题。 偶然之间,文后的参考文献被搜索到,该文献提供的方法比较简单,经过验证,方…

恒创科技:云服务器配置中的vCPU与物理CPU有啥区别?

​  说到云服务器,您可能经常会遇到vCPU这个词,而且它和物理CPU经常被拿来谈论。尽管它们听起来相似,但两者之间存在显著差异。在本文中,我们将详细讨论云vCPU和物理CPU之间的差异。 物理与虚拟 CPU 和 vCPU 之间最显著的区别在…

H5112B 48V 60V 80V 100V 多路共阳 RGB调光 PWM调光芯片

多路共阳恒流芯片是一种常用于LED驱动等应用的电子元件,它可以实现多个LED灯共享一个电流源,并且保持每个LED灯的亮度稳定。其工作原理如下: 多路输入:多路共阳恒流芯片通常有多个输入引脚,每个引脚对应一个LED灯。这…

kafka集群和Filebeat+Kafka+ELK

一、Kafka 概述 1.1 为什么需要消息队列(MQ) 主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从…

攻防世界WEB新手训练区

view_source 此题我愿称之为网安领域的hello world 查看网页源代码的方式一般有—— 右键->查看网页源代码F12->源代码/来源Ctrlu 随后可以再代码第17行处找到flag,至此迈入网安第一步。可喜可贺,可喜可贺... get_post 考察http的两种请求方式&…

“JavaScript 循环中的 ‘await‘

目录 前言 for使用await -- 有效的 forEach使用await -- 无效的 for of 使用await 有效的 for await of 使用await 有效的 总结 前言 在JavaScript的forEach方法中使用await是无效的,因为forEach方法不支持异步操作的等待。 forEach是一个数组的遍历方法&…

精要图示:园区金融数字化服务蓝图,以园区为支点推动信贷业务增长

作为企业集聚地,园区已然成为银行业夯实客群基础的重要切口,各大行陆续围绕园区场景创新金融产品,以期抢跑园区金融新赛道、把握新增量。 启信慧眼首推一站式【园区金融】数字化服务方案,该方案同时支持启信天元私有化部署&#x…

windows下git pull超时,ping不通github

报错 ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 解决办法 修改hosts 最后加一行,文件位置:…

Kotlin Multiplatform项目推荐 | 太空人分布图

Kotlin Multiplatform项目推荐 | 太空人分布图 项目简介 Kotlin Multiplatform项目是一种跨平台开发技术,它可以同时使用SwiftUI、Jetpack Compose、Compose for Wear OS、Compose for Desktop、Compose for Web、Kotlin/JS React等客户端框架,并且使…

分表过多引起的问题/Apache ShardingSphere元数据加载慢

目录 环境 背景 探寻 元数据的加载策略 如何解决 升级版本到5.x 调大max.connections.size.per.query max.connections.size.per.query分析 服务启动阶段相关源码 服务运行阶段相关源码 受到的影响 注意事项(重要) 其他 环境 Spring Boot 2…

【linux】Debian防火墙

Debian系统默认没有安装防火墙,但用户可以根据需要自行选择并安装一个防火墙以增强系统安全性。 一、查看Debian 桌面系统的防火墙是否关闭 在Debian及其他基于Linux的桌面系统中,防火墙功能通常是由iptables或nftables规则集控制的,而ufw&…

docker容器启动后修改或添加端口 nacos容器 版本2.x需要额外开放9848、9849

1.输入docker ps -a查看需要修改的容器ID: 记录下、 docker ps -a 2.停止docker systemctl stop docker 3.进入docker 容器文件夹,找到对应容器的位置: docker的默认文件夹应该是/var/lib/docker 如果不是root用户查看的话,可能会出现权限…

LeetCode 热题 100 | 子串

目录 1 560. 和为 K 的子数组 2 239. 滑动窗口最大值 3 76. 最小覆盖子串 菜鸟做题第二周,语言是 C 1 560. 和为 K 的子数组 题眼:“子数组是数组中元素的连续非空序列。” 解决本问题的关键就在于如何翻译问题。子数组 s 的和可以看作数组 i 的…

智能充电桩,机器人 wifi蓝牙 解决方案

新联鑫威低功耗高性价比sdio wifi/蓝牙combo的模块单频2.4g的CYWL6208,双频2.4g/5g CYWL6312可以应用到一些低延时 高性能 低功耗 联网需求的交流直流充电桩,扭力扳手,agv机器人,目前支持主流的stm32F4/GD32F4 瑞萨 psoc的主控&am…