Postman各类变量及其作用域详解

发表于:2022-2-08 09:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:罗狮小钉    来源:51Testing软件测试网原创

  Postman是我们做接口测试的常用工具之一,然而对于刚接触Postman的小伙伴们来说,往往对这款工具支持的各类变量感到迷茫,傻傻分不清这些不同级别的变量都有哪些区别、分别适用于哪些场景。
  本次分享将对Postman各类变量的创建,执行请求时该变量的作用域,以及不同变量的适用场景,进行详细讲解。

  关于变量那些事
  Postman中的变量并没有什么神奇之处,和任何编程语言一样,变量就是一个占位符,用来保存执行过程中的初始值,中间值或结果值,这些值也可以通过表达式来生成。我们以简洁的python为例:
a = "hello" 
b = input() 
c = a +" "+ b 
print(c)

  以上代码运行后,首先通过input() 函数,从控制台获取一个字符串,假设我们给到的字符串是“51testing”,那么这个时候b指代的内容就是“51testing”。
  通过a +" "+ b表达式进行字符串拼接后,c指代的内容就是“hello 51testing”,如此,最后通过print(c)运行后,打印输出的内容也就是“hello 51testing”。
  我们可以看到以上代码中的 “a,b,c” 三个都是变量,在程序执行过程中指代着不同的内容:
  ·变量a对应的是初始值;
  ·变量b对应的是运行中实时赋予的值;
  ·变量c对应的是一串表达式运算后的结果值。
  这就是变量及其在程序执行中的普遍应用。

  Postman中的变量
  Postman中的变量常用于设置请求前的初始值,请求中用于替换固定参数值,请求后用于相关断 言的处理等。
  此外,不同级别的变量,有着各自所负责的作用域(即访问范围的限定)。总而言之,这些变量都起到了承上启下,关联上下文接口业务的作用。
  Postman一共提供了5种不同类型的变量,对应5个作用域:
  1. Global —— 全局变量
  2. Collection —— 集合变量
  3. Environment —— 环境变量
  4. Data —— 数据变量
  5. Local —— 局部变量,也有称本地变量
  下面我们就这5个变量逐一介绍。

  Global —— 全局变量
  Postman全局变量及其作用域
  全局变量,即通用变量,在Postman中所有请求(request)所有用例集合(Collections)等都能访 问到。
  正因为如此,我们需要慎重使用全局变量,因为每一个请求(request),每一个断言脚本(Postman中设置断言的地方:Tests),每一个前置处理(Postman中前置处理:Pre-request Script),每一个集合(Postman用于管理一组业务或上下文相关的接口:Collections),这些地方都能随意访问且更改全局变量的值。
  一般而言,全局变量仅适用于快速创建原型设计的需求,非必要,不轻易使用。

  Postman全局变量的创建
  在Postman中可以通过界面和脚本两种方式来创建全局变量。

  【通过界面创建全局变量】
  创建全局变量

  初始化全局变量

  输入变量名称,并给一个初始值,这样一个新的全局变量就创建好了。
  注意:
  创建完成后不要忘记 “Ctrl+S” 进行保存;
  初始值是该变量的默认值。

  【通过Script脚本创建全局变量】
  创建全局变量并赋值:
pm.globals.set("g_value", "51testing测试圈");


......
查看更多精彩内容,请点击下载:
  版权声明:本文出自《51测试天地》第六十四期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号