网站首页 > 技术文章 正文
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测试圈");
在 Postman 前置处理中创建全局变量。
注意:创建完成后不要忘记 “Ctrl+S” 进行保存。
注意:创建完成后不要忘记 “Ctrl+S” 进行保存。
(3)Postman 全局变量应用 Demo
为了演示全局变量的实现效果,我们这里简单以 51testing 测试圈首页为例,发送一个请求,在该 请求的前置处理中,设置如上全局变量 g_value,且更改之前通过界面创建的全局变量 g_test 的 值,通过执行后,将日志打印输出到控制台,一起看一下效果。
·构建 51testing 测试圈首页请求,在前置处理中创建全局变量
在请求后将全局变量值打印输出到日志。
Tests 区域专门用于处理请求后的一系列操作,例如断言等;这里我们仅在控制台输出全局变量的值。
//控制台输出全局变量值
console.log(pm.globals.get("g_test"));
console.log(pm.globals.get("g_value"));
执行 “Send” 后,在控制台查看日志输出。
(4)其他关于全局变量的常用脚本
这里再给大家汇总一下常用的全局变量脚本,感兴趣的都可以尝试一下:
//创建全局变量并赋初始值
pm.globals.set("全局变量名", "全局变量初始值");
//给全局变量赋值
pm.globals.get("全局变量名");
//通过脚本删除一个全局变量
pm.globals.unset("全局变量名");
//通过脚本清除当前 Postman 中的所有全局变量
pm.globals.clear();
……
由于作者版权要求,仅展示文章的一部分,如需阅读完整版文章,可以私信回复”文章“即可免费获取。
最后:
1)关注+私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。
2)关注+私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~
猜你喜欢
- 2024-09-18 「Postman教程」使用Postman循环调用接口
- 2024-09-18 接口工具分析(apipost、jmeter、postman)
- 2024-09-18 一文搞定 Postman 接口自动化测试
- 2024-09-18 软件测试教程:如何使用Postman实现数据驱动?
- 2024-09-18 接口测试工具postman之请求的备份与还原
- 2024-09-18 Postman收费太贵了,我决定用Postwoman...
- 2024-09-18 Postman 使用技巧:掌握 Query、Path 和 Body 参数传递
- 2024-09-18 使用Postman进行接口测试(postman接口测试实例)
- 2024-09-18 是时候扔掉Postman了,又一个被低估的IDEA插件出来了
- 2024-09-18 postman教程-01-发送你的第一个请求
- 1513℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 560℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 506℃MySQL service启动脚本浅析(r12笔记第59天)
- 485℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 483℃启用MySQL查询缓存(mysql8.0查询缓存)
- 463℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 442℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 440℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)