软件测试 —— Postman(全局变量和环境变量,请求前置脚本,关联)

server/2025/1/22 13:14:19/

软件测试 —— Postman(全局变量和环境变量,请求前置脚本,关联)

  • 在测试脚本中设置全局变量
  • 在测试脚本中设置环境变量
  • 请求前置脚本
  • 关联
    • 如何实现?

在Postman中,全局变量(Globals)和环境变量(Environment Variables)允许你存储和重用值,如API密钥、URL端点或任何其他可能需要在多个请求之间共享的数据。这些变量可以在请求的各个部分使用,包括URL、Headers、Body以及测试脚本等。下面详细介绍如何设置和使用这两种类型的变量。

在测试脚本中设置全局变量

也是在Scripts中,我们可以设置我们的全局变量:

var age = 18
pm.globals.set("glb_age",age)

运行之后,我们可以用{{}},使用我们的全局变量:
在这里插入图片描述
也可以通过代码获取:

pm.globals.get("glb_age")

在测试脚本中设置环境变量

在设置环境变量之前,我们的先有一个环境,点击右上角的创建环境:
在这里插入图片描述创建好了之后,我们可以在对应的选项卡中添加环境变量:
在这里插入图片描述我们也可以在对应的脚本中书写:

var lesson = "语文"
pm.environment.set("lesson_name",lesson)

使用环境变量跟全局变量的用法是一样的,也是用{{}},但是在使用环境变量之前,要先保证当前环境与环境变量是匹配的:
在这里插入图片描述如果环境不匹配,是无法进行解析的:
在这里插入图片描述

请求前置脚本

我们可以用上面的全局变量做个小测试:获取当前时间戳并作为参数携带进url进行数据查询

这就有一个问题,如果我们先让时间戳作为参数携带进url中,那我们在发送url之前就要获得时间戳,这该咋办呢?

我们看到Scripts选项,左边有一个pre-request
在这里插入图片描述意思是在我们点击send之后,会最优先执行这段代码,执行完了之后才会发送。这个时候,我们已经获得了时间戳,我们就可以在Params中携带:
在这里插入图片描述

关联

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理。

如何实现?

  • 要获取某个请求的响应结果数据,可以通过在“Tests”标签页中编写JavaScript脚本来实现:

    // 获取JSON格式的响应数据
    var jsonData = pm.response.json();
    
  • 多个请求之间可以使用全局变量或环境变量来传递数据

    // 把数据保存到全局变量中
    pm.globals.set("city", city);
    
  • 获取某个全局变量的值{{var_name}}

这里我们可以查询相应电话号码所在地区,然后将地区作为关键字让百度进行搜索:

我们以这个网站作为测试:

https://www.toolapi.cc/mobile/

然后按照开发者工具上面的提示进行配置:
在这里插入图片描述

在这里插入图片描述
发送之后,将相应格式换为json:
在这里插入图片描述然后我们在Scripts中的post-request中保存city:

//获取响应的json数据
var jsonData = pm.response.json()var city = jsonData.region.city//写入全局变量
pm.globals.set("city",city)

在这里插入图片描述然后我们用百度搜索一下:
在这里插入图片描述


http://www.ppmy.cn/server/160465.html

相关文章

Python小游戏19——滑雪小游戏

运行效果 python代码 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕尺寸 screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("滑雪小游戏") # 定义颜色 WH…

Windows安装Rust环境(详细教程)

一、 安装mingw64(C语言环境) Rust默认使用的C语言依赖Visual Studio,但该工具占用空间大安装也较为麻烦,可以选用轻便的mingw64包。 1.1 安装地址 (1) 下载地址1-GitHub:Releases niXman/mingw-builds-binaries GitHub (2) 下载地址2-W…

Selenium配合Cookies实现网页免登录

文章目录 前言1 方案一:使用Chrome用户数据目录2 方案二:手动获取并保存Cookies,后续使用保存的Cookies3 注意事项 前言 在进行使用Selenium进行爬虫、网页自动化操作时,登录往往是一个必须解决的问题,但是Selenium每次…

Numpy基础01(Jupyter基本用法/Ndarray创建与基本操作)

内容一:Jupyter开发环境 IPython 是一个增强型的 Python 交互式解释器,提供了自动补全、命令历史、魔法命令等功能。它支持与操作系统命令交互、内联绘图和多语言扩展,并可与 Jupyter Notebook 集成,适用于数据分析和科学计算。IP…

前沿技术趋势洞察与分析:探寻科技变革的多维密码

身处当下这个科技如火箭般飞速蹿升的时代,前沿技术就像一场来势汹汹的超强风暴,全方位重塑着我们生活的模样和社会的架构。深入探究这些前沿技术的发展走向,对咱们科技圈的从业者来说,那可太重要了,就如同在茫茫大海里…

我们常说的“翻墙”指的是什么?

所谓翻墙,是指绕过相应的IP封锁、内容过滤、域名劫持、流量限制等,实现对网络内容的访问。“翻墙”违法吗?毋庸置疑,在生活中任何形式的“翻墙”行为都是违法的! 这里的“墙”指的是“国家公共网络监控系统”-GFW&…

【软考】【2025年系统分析师拿证之路】【啃书】第七章 软件工程(八)

目录 软件生命周期软件开发方法与模型传统软件开发方法快速应用开发(rapid application development,RAD)统一过程模型敏捷方法 软件开发环境与工具软件过程管理软件能力成熟度模型(capability maturity model, CMM&am…

【gopher的java学习笔记】Java中Service与Mapper的关系详解

在后端开发中,Java作为一种广泛使用的编程语言,其架构设计和层次划分对于系统的可维护性、可扩展性和性能有着至关重要的影响。特别是在使用MyBatis等持久层框架时,Service层与Mapper层的关系更是值得深入探讨。本文将从Java Web应用程序的角…