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,一经查实,立即删除!

相关文章

C语言用户态函数可观测性

本文不是介绍eBPF相关的用户态Probe的内容,而是如何利用开源C语言库Melon的函数模板来轻松实现函数的可观测性需求,例如:测量耗时等。 本文主要介绍的是Melon库中的func模块,之所以没有给这个模块起名叫可观测性或者span&#xf…

springboot(ssm成都旅游网 旅游管理系统 旅游规划系统Java系统

springboot(ssm成都旅游网 旅游管理系统 旅游规划系统Java系统 开发语言:Java 框架:springboot(可改ssm) vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.…

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

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

【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…

c#中Image<Rgba32>转Bitmap

private Bitmap ImageToBitmap(Image<Rgba32> image){using var memoryStream new MemoryStream();image.SaveAsBmp(memoryStream);memoryStream.Seek(0, SeekOrigin.Begin);return new Bitmap(memoryStream);} c#中Image<Rgba32>转Bitmap 当然也可以直接使用EM…

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

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

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

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

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

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

降本增效及大模型优化调研总结[小工蚁视频调研]

可用需求1&#xff1a;可用于大模型优化的技术 最强长上下文Text Embedding 开源模型M2-BERT-小工蚁创始人-小工蚁创始人-哔哩哔哩视频 (bilibili.com) 疑问&#xff1a;和Text2vec或sentence2vec的区别&#xff0c;谁更好&#xff1f; 智谱AI GLM4和InternLM2国产大语言模型…

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

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

kafka集群和Filebeat+Kafka+ELK

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

攻防世界WEB新手训练区

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

“JavaScript 循环中的 ‘await‘

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

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

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

uniapp map自定义气泡窗

uniapp map自定义气泡窗 1、map <template><view><map class"map" :latitude"mapCenter.lat" :longitude"mapCenter.lng" :scale"5" :markers"mapData"><!--自定义冒泡--><cover-view slot&qu…

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 最后加一行&#xff0c;文件位置&#xff1a;…

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

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