如何用好Postman 中的 变量

简介: 大家好,我是阿萨。昨天给大家介绍了如何使用Postman 录制请求?相信可以录制请求后,大家写API 测试脚本就更方便了。只需要把录制好的请求,修改下参数以及断言,就可以是一个API的测试用例了。

一 变量使用场景


今天我们学习下Postman的变量。大家都知道 实际工作中经常会有多套测试环境,不同测试环境中某个参数的取值有可能是会变化的。 在这种情况下,变量就起到很大的作用了。它们可以让我们一套脚本在多套环境中 执行,而且还确保每次执行结果都正常。


二 变量设置位置


在 Postman 的右上角有一个眼睛图标。 那个就是变量的设置。点击眼睛位置,我们可以看到如下截图。


463edab0c6b64dddb1397c7668d263a8_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


三 Postman 的变量作用域


Global: 全局, 比如可以将错误提示信息设置成全局变量。


Collections:变量在集合中的所有请求中都是可用的,并且独立于环境。集合变量不会根据所选环境而改变。集合变量适用于使用单一环境的情况,例如用于auth或URL详细信息。


Environment:环境变量, 比如可以将测试domain 设置成环境变量。


Local:本地变量,一般可以在sandbox 中定义。


Data:测试数据中导入的变量,也就是所谓的参数化。比如CSV 和Json文件导入的数据,


四 如何在API 请求中使用变量?

1. 全局变量,集合变量以及环境变量该如何使用?


场景: 我们有一个API ,它的域名在不同环境设置是不一样的。这个时候我们就可以把URL 中的域名使用一个变量来设置。


设置方法:选中 URL 中的域名。


8c8a14778fa3461c89aebdb38b8c48dc_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


点【Set as Variable】,然后点击 【Set as new variable】


19768befcb85475790fe1ee3f4ecf5a3_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


输入【Name】 和【Scope】

再选中刚才的网址,就可以使用刚才定义好的baseURL 了。


Image


设置成变量后的请求。


206d157858374460be7d670c6a83ec3f_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg

下次运行前,只需要修改下baseURL的值成为我想要的域名就可以啦。


40284b88129b426296902239df23209a_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg



这样就可以实现同一套 API 脚本在不同的环境下运行的场景啦。


2.如何使用临时变量?


场景: 响应的response Data 需要检验的数据是个数据结构,里面是数据结构套数据结构的形式,做断言时不太方便,就可以使用临时变量。


具体使用方法:


比如我们想把XML 转换成JSON,JSON 转换的结果就可以用一个临时变量保存它。

或者是使用使用临时变量存储一个数据值


var jsonObject = xml2Json(responseBody);
var data1 = [true, false];var data2 = [true, 123];


这里的jsonObject 就是一个临时变量。


3.关于数据类型的变量,我们再讲到CSV 或者Json 文件导入数据的时候再给大家演示。


4.变量中default 类型和secret有什么区别?


在我们编辑环境变量的过程中有一个Type 类型的选择,其中有2个类型,这2个类型分别如何使用呢?


bc47c92fa5d74670a8913cb4a594feb4_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.jpg


一般情况下,我们使用default 就可以啦。

还有一种情况就是我不想别人知道我设置的一些敏感信息数据,该怎么办呢?

这个时候就是secret 登场的时候啦,针对一些敏感信息,我们可以用这个字段,这个时候,设置的所有值也会变成小黑点,别人就不知道我们使用的信息啦。

是不是很安全呢?


5.如何输入的参数书值每次都会变化,如何使用变量解决这个问题呢?


实际的API 中有使用随机数或者是时间戳等场景,这个时候如何使用参数化来解决我们的输入问题呢?

其实Postman 很早就帮我们想好了解决办法了。

那就是动态变量。


关于动态变量,和数据参数化一样会在后续章节详细讲解,欢迎大家围观。


你学会了吗?


如果你也想学习如何使用Postman 工具,欢迎跟着阿萨 一起完成21天打卡学习。



相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
4月前
|
XML JSON 测试技术
如何用好Postman中的变量?
如何用好Postman中的变量?
|
JSON JavaScript 前端开发
Postman变量的使用,引入外部数据文件
Postman变量的使用,引入外部数据文件
|
存储 JSON 测试技术
Postman教程-变量、集合的基本使用
在postman的Pre-request Script中设置全局变量后,会把变量存储到全局变量中,删掉脚本后,变量仍然可以读取,如果用脚本设置全局变量的话,要注意不要在多个脚本中同时去设置相同的变量名,避免引起冲突,出现问题不好排查。
Postman教程-变量、集合的基本使用
|
4月前
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
阿萨聊测试:如何用Postman查看HTTP消息相关内容?
|
4月前
|
JSON 数据格式 开发者
Postman模仿GET/POST请求进行接口的本地测试
接口是软件开发中常用的概念,是软件生产过程中比较核心的任务。对于接口开发者,调试接口是一件较为繁琐的事情,很多时候需要线上线下来回切换。在这里,我就跟大家介绍一个只需要在本地就可以调试接口的方法。
67 0
|
5月前
|
JavaScript 前端开发 测试技术
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
Postman 加密接口测试 | 使用Rsa、Aes对参数加密
246 0
|
4月前
|
JSON API 开发工具
如何使用Postman 设计和测试一个API?
如何使用Postman 设计和测试一个API?
如何使用Postman 设计和测试一个API?
|
2月前
|
JSON 测试技术 API
Postman Newman 实现 API 自动化测试的快速指南
Newman 是一款专为 Postman 打造的命令行工具,旨在通过自动运行 Postman 集合和环境,实现 API 测试的自动化。它使得开发者无需打开 Postman 图形界面,即可直接在命令行中执行测试用例。
|
3月前
|
JSON JavaScript 前端开发
提升 API 测试效率:Postman Tests 详解
Postman 不仅是一个强大的 API 开发工具,它还提供了创建自动化测试脚本的能力,这些脚本可以用于检验API请求得到的响应是否符合预期。这些测试脚本被称为 “Tests”,支持使用 JavaScript 编程语言进行编写,并且 Postman 提供了一系列的断言库来帮助你检查包括但不限于状态码、响应内容以及响应时间在内的响应数据。
|
3月前
Postman 测试上传与下载
Postman 测试上传与下载
42 0