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

news2025/1/22 15:06:50

目录

 前言:

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

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

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

 

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

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

相关文章

过滤器Filter,拦截器Interceptor

过滤器Filter 快速入门 详情 登录校验-Filter package com.itheima.filter;import com.alibaba.fastjson.JSONObject; import com.itheima.pojo.Result; import com.itheima.utils.JwtUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils…

码住!IC设计常用工具合集!

芯片设计过程中,选择和使用适合的工具是非常重要的。芯片设计工具通常分为三类:EDA工具、模拟仿真工具和布局工具。 一、EDA工具 EDA工具是芯片设计的核心,它包括原理图绘制、逻辑综合、门级仿真工具和物理版图编辑等,可以帮助设计…

Ubuntu 安装 jdk1.8

1 更新软件包 sudo apt update 2 安装jdk1.8 sudo apt install openjdk-8-jdk 3 查看版本 java -version安装成功

自适应滤波方法——LMS算法

自适应滤波器 自适应滤波器:一种能够根据输入信号自动调整自身参数的数字滤波器 非自适应滤波器:具有静态滤波器系统的数字滤波器,静态系数构成了滤波器的传递函数 对于一些应用(如系统辨识、预测、去噪等)&#xff…

固定翼无人机1:500地籍

引言 上几期,睿铂为大家推送了两篇相对精度验证的文章,其优秀的成果引来了业界人士不少的赞叹。同时,许多客户朋友又提出了更高的要求。目前,在地籍精度的项目中,使用多旋翼无人机挂载倾斜摄影相机作业,是能…

机器学习笔记 - 基于TensorFlow Lite的模型部署

一、简述 TensorFlow Lite 是一个移动端库,可用于在移动设备、微控制器和其他边缘设备上部署模型。 假设要执行图像分类任务。首先决定任务的模型。是要创建自定义模型;或者使用预训练模型,如 InceptionNet、MobileNet、NASNetLarge 等。又或者在预训练模型上应用迁…

【问题记录】解决vite多页应用路由改用history之后本地刷新404问题

当前包的版本信息: "vue": "^2.7.14", "vue-router": "^3.6.5" "vite": "^3.0.7", 首先,修改路由模式 首先,将之前多页项目中的某个页面路由模式改用 history ,…

C++服务器框架开发4——日志系统logger/.cpp与.cc

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见:[C高级教程]从零开始开发服务器框架(sylar) 上一篇:C服务器框架开发3——协程与线程的简单理解/并发与并行 C服务器框架开发4——日志系统logger 目前进度.cpp与.cc 目前进度 …

ByConity与主流开源OLAP引擎(Clickhouse、Doris、Presto)性能对比分析

引言: 随着数据量和数据复杂性的不断增加,越来越多的企业开始使用OLAP(联机分析处理)引擎来处理大规模数据并提供即时分析结果。在选择OLAP引擎时,性能是一个非常重要的因素。 因此,本文将使用TPC-DS基准…

排序算法、HashMap原理以及单例模式

文章目录 1、二分查找2、冒泡排序3、选择排序4、插入排序5、希尔排序6、快速排序(面试写这个)7、ArrayList8、Iterator9、LinkedList10、HashMap10.1、基本数据结构底层数据结构,1.7和1.8有什么不同? 10.2、树化与退化为何要用红黑…

【LINUX】进程间信号

文章目录 前言铺垫信号 信号的产生1、终端按钮产生信号2、调用系统函数向进程发送信号3、软件条件产生信号4、硬件异常产生信号 信号的保存补充:位图数据结构信号的处理结语 前言 铺垫 1、日常中我们能经常感受到信号的存在:红灯停绿灯行、三更鸡鸣、妈…

60.网络训练中的超参调整策略—学习率调整2

4、inverse_time_decay inverse_time_decay(learning_rate, global_step, decay_steps, decay_rate,staircase=False, name=None)逆时衰减,这种方式和指数型类似。如图, 5、cosine_decay cosine_decay(learning_rate, global_step

K8s in Action 阅读笔记——【7】ConfigMaps and Secrets: configuring applications

K8s in Action 阅读笔记——【7】ConfigMaps and Secrets: configuring applications 7.1 Configuring containerized applications 在我们讨论如何将配置数据传递给在Kubernetes中运行的应用程序之前,让我们先看看通常如何配置容器化应用程序。 如果忽略了你可以…

002. java.lang.NumberFormatException: Infinite or NaN,怎么破?

你好,我是YourBatman:当我老了,也写代码;不为别的,只为爱好。 📚前言 如果你工作超5年,100%遇到过这个异常:java.lang.NumberFormatException: Infinite or NaN Infinite中文释义…

使用MockJS进行前端开发中的数据模拟

在前端开发中,有时我们需要在没有后端接口的情况下进行前端页面的开发和测试。这时,我们可以使用MockJS来模拟数据,以便进行开发和调试。MockJS是一个用于生成随机数据和拦截Ajax请求的JavaScript库,它能够帮助我们快速搭建起一个…

InVEST模型

学习目标: 1)采用InVEST模型,掌握产水(包括水源涵养)、碳存储(包括固碳)、土壤保持、水质(氮磷)、生境质量和热岛缓解等生态系统服务评估方法,开展人类活动影响、重大工…

MATLAB EXPO 2023会议记录|基于STM32的MATLAB电机控制方案

算法导出工作流视频:(99 封私信 / 82 条消息) Simulink 算法导出工作流 —— stm32电机控制示例(v2) - 知乎 (zhihu.com) Algorithm-Export Workflows for Custom Hardware 示例: Algorithm-Export Workflows for Custom Hardware - MATLAB & Simuli…

JavaScript拖拽API,ondragstart、ondragover、ondragenter、ondrop,使用详细(JavaScript常用原生拖拽API)

简述:JavaScript的拖拽api相必大家都不陌生,今天来分享下元素在拖动时触发的事件,顺便做下记录。 一、ondragstart事件 ondragstart事件在拖动元素时触发,通常用于设置拖动时的数据类型和数据。可以通过event.dataTransfer.setDa…

开发环境搭建-stm32CubeIDE进行标准库开发

stm32CubeIDE介绍 https://www.stmcu.com.cn/ecosystem/Cube/STM32CubeIDE stm32CubeIDE下载 点击上面的链接,登录即可下载。 搭建demo工程 新建工作空间 创建一个工程 选择芯片-STM32F103C8T6 点击“Next” 点击“Finish ” 添加标准库到项目工程文件目录下 配…

SM国密算法(二)-- OpenSSL库中分离算法

一、OpenSSL简介: OpenSSL 是用于传输层安全性 (TLS) 和安全套接字层 (SSL) 协议的一个强大、商业级和功能齐全的工具包。它也是一个通用的密码学库,包含有RSA、SM4、DES、AES等诸多加密算法。 OpenSSL GitHub地址 二、移植过程 1. 文件目录 下载在…