灵活使用Postman环境变量和全局变量,提高接口测试效率!

目录

 前言:

环境变量和全局变量的概念

环境变量和全局变量的使用方法

1. 定义变量

2. 使用变量

环境变量和全局变量的实例代码

 变量的继承和覆盖

变量的动态设置

总结: 


前言:

Postman是一个流行的API开发和接口测试工具,它具有简单易用的界面和丰富的请求和测试功能。在API测试中,环境变量和全局变量是非常有用的工具,它们可以使测试更加灵活和高效。本文将介绍Postman环境变量和全局变量的概念、使用方法和实例代码,希望能帮助读者更好地使用Postman进行接口测试。

环境变量和全局变量的概念

环境变量和全局变量都是Postman中用于存储和管理数据的工具。它们可以在请求中使用,以便在请求之间共享和重复使用数据。具体来说:

1. 环境变量是针对特定环境的变量(比如开发环境、测试环境、生产环境等),只在该环境下有效。环境变量可以存储公共信息,比如API的基础URL、访问令牌等,以便在多个请求中共用。

2. 全局变量是在Postman全局中定义的变量,可以在所有环境中共享和使用。全局变量可以存储全局信息,比如用户名、密码等,在所有请求中使用。

环境变量和全局变量的使用方法

在Postman中,环境变量和全局变量都是基于键值对存储。具体使用方法如下:

1. 定义变量

在Postman中,可以通过两种方式定义变量:

(1)在请求的URL、Header、Body等参数中使用双大括号{{}}包裹变量名,如{{varName}}表示该变量。

(2)在Postman左侧导航栏的“环境”或“全局”选项卡下,创建一个新环境或全局,然后定义相应的键值对。

2. 使用变量

使用变量的方式有多种,比如在URL中使用、在Header中使用、在Body中使用等,具体用法如下:

(1)在URL中使用变量:

例子:假设定义了环境变量baseUrl,值为http://example.com,接下来在请求的URL中使用该变量:{{baseUrl}}/api/v1/users

(2)在Header中使用变量:

例子:假设定义了环境变量JWTToken,值为12345,接下来在请求的Header中使用该变量:

Authorization: Bearer {{JWTToken}}

(3)在Body中使用变量:

例子:假设定义了环境变量username,值为user1,接下来在请求的Body中使用该变量:

{
  "username": "{{username}}",
  "passwor": "secret"
}

环境变量和全局变量的实例代码

下面是一些使用环境变量和全局变量的实例代码,以帮助读者更好地理解它们的用法:

1. 使用环境变量:

// 定义环境变量
baseUrl: http://example.com
authToken: 12345

// 使用环境变量
GET {{baseUrl}}/api/v1/users
Authorization: Bearer {{authToken}}

2. 使用全局变量:

// 定义全局变量
username: user1
passwor: secret

// 使用全局变量
POST http://example.com/api/v1/login
{
  "username": "{{username}}",
  "passwor": "{{passwor}}"
}

总之,在Postman中,环境变量和全局变量为我们提供了一个非常有用的工具来管理和使用数据,从而使接口测试更加高效和灵活。掌握环境变量和全局变量的使用方法,可以有效地提高API测试的效率和准确性。同时,除了基本的使用方法之外,Postman还提供了一些高级功能,使环境变量和全局变量的使用更加灵活和方便。

 变量的继承和覆盖

Postman中变量的继承和覆盖规则如下:

(1)变量可以从更高级别的环境或全局变量中继承。

(2)变量可以在更低级别的环境或请求中被覆盖。

例如,在Postman中定义了一个全局变量“baseUrl”,值为“http://example.com”。然后,在“开发环境”中定义了一个环境变量“baseUrl”,值为“http://dev.example.com”。当在“开发环境”下发送请求时,Postman将使用“http://dev.example.com”,而不是全局变量中的值。

变量的动态设置

Postman中的环境变量和全局变量可以使用JavaScript代码进行动态设置,这个特性可以非常方便地完成一些高级的API测试。例如,可以使用动态设置来创建一个新的UUID并在多个请求中重复使用。

具体的实现方法是,在环境变量或全局变量中定义一个变量名为“uuid”的变量,并设置初始值为空。然后,在请求中使用“{{uuid}}”来引用该变量。最后,在请求中使用JavaScript代码在每次请求前生成一个新的UUID值,并使用“pm.environment.set”将其存储到“uuid”变量中。

如下所示,这个例子演示了如何在JavaScript中生成UUID:

if (pm.environment.get("uuid") === null) {
pm.environment.set("uuid", guid());
}

function guid() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}

总结: 

总之,Postman中的环境变量和全局变量是非常有用的工具,它们可以帮助完成一些复杂的API测试任务,并提高测试的效率和质量。希望此篇文章可以对读者带来一些有益的启示,让大家更加深入地了解和掌握Postman的使用。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,如果你用得到的话可以直接拿走,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

获取方式:留言【自动化测试】即可
【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=aHIGBYHUghap5i_4GNUt5dSxrYN_BA3m&authKey=9rU8HTM3ZRVPSeuHVBKHFTEvsTYxn1bDFX9YLoUPJdvXKIPtlRv%2FcKMe0gjD6uHR&noverify=0&group_code=574737577

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RK平台使用i2c-tools调试

简介 i2ctool是嵌入式开发过程中调试i2c设备常用的工具包,其中比较常用的有:i2cdetect、i2cdump、i2cset、i2cget。 RK平台的SDK大部分默认都会带这个工具,如果没有编译进去或者找不到的情况下可以自己从网上下载编译进去:https:…

JavaScript中的Hook技术:特性、优点、缺点和使用场景

引言: 随着JavaScript的不断发展,开发者们正在寻找更灵活和可扩展的方式来修改或扩展现有的代码。其中一种广泛应用的技术是"Hook",它允许开发者拦截和修改现有的函数或方法的行为。本文将详细介绍JavaScript中的Hook技术&#xf…

Hive库表基本操作

Hive基本操作-库、表 规则语法 大小写规则: 1. hive的数据库名、表名都不区分大小写 2. 建议关键字大写 复制代码 命名规则: 1. 名字不能使用数字开头 2. 不能使用关键字 3. 尽量不使用特殊符号 复制代码 库操作语法 创建数据库 创建数据库的本质就是在hive…

javascript基础十六:Ajax 原理是什么?如何实现?

一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页 Ajax的原理简单来说通过XmlHttpRequ…

算法复杂度分析(一)

求第n个斐波那契数列 斐波那契数 0 1 1 2 3 5 数列默认从0开始 public static int fib1(int n) {if(n < 1) return n;return fib1(n-1) fib1(n-2);}public static int fib2(int n) {if(n < 1) return n;int first 0;int secend 1;for (int i 0; i < n-1; i) {int…

solr教程

一&#xff1a;安装配置 下载完成之后&#xff0c;解压solr文件&#xff0c;解压tomcat 1.1 在tomcat安装solr,并且建立solrCore 把solr5.5目录下的server/solr-webapp/webapp 重命名为solr,并且放置到tomcat/webapp的目录下。 打开tomcat/webapp/solr/WEB-INF/web.xml新建…

DevOps - (3)使用SOPS 和Terraform来加密/解密敏感信息文件

一&#xff1a;背景 每个人都想将自己的敏感数据以加密格式存储在一个安全的地方。例如我们的数据库的账号密码&#xff0c;不能以纯文本的方式来记录。让我们利用Mozilla SOPS以一种安全的方式实现它。SOPS支持将文件加密为二进制文件&#xff0c;除此之外&#xff0c;它还具…

LNMT架构之LNMT与nginx动静分离

LNMT架构之LNMT与nginx动静分离 目录 一、实验前提环境配置 &#xff08;一&#xff09;关闭防火墙&#xff0c;安装本地yum &#xff08;二&#xff09;部署tomcat &#xff08;三&#xff09;部署Mariadb &#xff08;四&#xff09;部署nginx 二、动静分离 步骤一&a…

RISC-V IDE MRS使用笔记(八):实现局域网下的远程调试功能

RISC-V IDE MRS使用笔记(八)&#xff1a;实现局域网下的远程调试功能 1.原理介绍 MRS调试时上位机与硬件的通信基于gdb客户端与服务端的连接。调试时&#xff0c;首先启动openocd以挂载gdbserver的服务到指定端口上。通信建立后&#xff0c;监听到界面操作后以gdb指令的形式发…

Springboot +spring security,OAuth2 四种授权模式概念

一.简介 这篇文章来讲下Spring Security OAuth2 四种授权模式。 二.什么是OAuth2 OAuth 2.0 是一种用于授权的开放标准&#xff0c;允许用户授权第三方应用程序访问他们的资源&#xff0c;例如照片、视频或其他个人信息。OAuth 2.0 提供了一些不同的授权模式&#xff0c;包括…

测试替身Test Doubles的5类型(Mockito)

测试替身Test Doubles的5类型(Mockito) 我们有一个名为 BankAccount 的类。 数据库用于存储和检索银行帐户信息。 我们想测试 BankAccount 中的逻辑&#xff0c;而不必担心它使用的底层数据库.由此类实现——它将 SQL 查询发送到数据库并返回其中包含的值。 测试替身Test Dou…

Django实现接口自动化平台(五)httprunner(4.x)介绍【持续更新中】

上一章&#xff1a; Django实现接口自动化平台&#xff08;四&#xff09;解决跨域问题【持续更新中】_做测试的喵酱的博客-CSDN博客 下一章&#xff1a; 一、httpruner介绍 1.1 背景&#xff1a; 之所以学习httpruner的用法&#xff0c;是要把httpruner嵌入我们的自动化平…

自动缩放Kubernetes上的Kinesis Data Streams应用程序

想要学习如何在Kubernetes上自动缩放您的Kinesis Data Streams消费者应用程序&#xff0c;以便节省成本并提高资源效率吗&#xff1f;本文提供了一个逐步指南&#xff0c;教您如何实现这一目标。 通过利用Kubernetes对Kinesis消费者应用程序进行自动缩放&#xff0c;您可以从其…

2023年陕西彬州第八届半程马拉松赛153pb完赛

1、赛事背景 2023年6月3日&#xff0c;我参加了2023陕西彬州第八届半程马拉松赛&#xff0c;最终153完赛&#xff0c;PB了5分钟。起跑时间早上7点30分&#xff0c;毕竟6月天气也开始热了。天气预报显示当天还是小到中雨&#xff0c;上次铜川宜君半马也是雨天跑的&#xff0c;阴…

lecory 波形二进制文件头(.trc)定义

1.文件头&#xff0c;从0字节开始 byte[] lecroy_trc_header new byte[]{0x23,0x39,0x30,0x30,0x32,0x30,0x30,0x30,0x31,0x34,0x34,0x57,0x41,0x56,0x45,0x44,0x45,0x53,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4C,0x45,0x43,0x52,0x4F,0x59,0x5F,0x32,0x5F,0x33,0x…

研发工程师玩转Kubernetes——使用Ingress进行路由

依据微服务理念&#xff0c;我们希望每个独立的功能由一个服务支持。比如有两个接口&#xff1a;http://www.xxx.com/plus和http://www.xxx.com/minus&#xff0c;前者由一个叫plus-service的服务支持&#xff0c;后者由一个叫minus-service的服务支持。这样就需要一个路由层&a…

Revit问题:创建牛腿柱和快速生成圈梁

一、Revit中如何用体量创建牛腿柱 牛腿&#xff1a;悬臂体系的挂梁与悬臂间必然出现搁置构造&#xff0c;通常就将悬臂端和挂梁端的局部构造&#xff0c;又称梁托。牛腿的作用是衔接悬臂梁与挂梁&#xff0c; 并传递来自挂梁的荷载。牛腿柱可以用于桥梁、厂房的搭建&#xff0c…

西南财经大学李玉周:数智化技术广泛使用推动管理会计加快落地

近日&#xff0c;由用友主办的「智能会计 价值财务」2023企业数智化财务创新峰会收官站圆满举办。来自知名院校的专家学者、央国企等大型企业财务领路人相约成都&#xff0c;一同见证“智能会计”新时代的到来&#xff0c;并肩探讨“价值财务”新主张。 为更好传递智能会计对企…

【接口测试】JMeter接口关联测试

‍‍1 前言 我们来学习接口管理测试&#xff0c;这就要使用到JMeter提供的JSON提取器和正则表达式提取器了&#xff0c;下面我们来看看是如何使用的吧。 2 JSON提取器 1、添加JSON提取器 在线程组右键 > 添加 > 后置处理器 > JSON提取器 2、JSON提取器参数说明 N…

chatgpt赋能python:Python如何删除行:从入门到精通

Python如何删除行&#xff1a;从入门到精通 在Python编程中&#xff0c;删除行是必不可少的操作之一。无论是清除不必要的数据&#xff0c;还是在数据集中删除重复行&#xff0c;或者在文本文件中删除某些行&#xff0c;删除行都是一项极其重要的任务。 什么是Python语言&…