如何用好Postman 中的 变量

本文涉及的产品
.cn 域名,1个 12个月
简介: 大家好,我是阿萨。昨天给大家介绍了如何使用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天打卡学习。



相关文章
|
5月前
|
测试技术 API
Postman 自定义变量使用详解
Postman是一款强大的API测试工具,支持全局、环境、集合和本地四种变量类型,方便不同场景的测试需求。定义变量涉及全局(在“Manage Environments”>“Globals”),环境(创建新环境并添加),集合(编辑集合>“Variables”),以及脚本内定义的本地变量。使用变量时以`{{variableName}}`格式插入,通过`pm.variables.get()`在脚本中获取。变量优先级:本地>数据>环境>集合>全局,可在Pre-request或Tests脚本中动态设置。掌握变量使用能提升测试效率。
|
5月前
|
测试技术 API
Postman 集合变量使用详解
**Postman 集合变量概览** 在API测试中,Postman的集合变量增强测试灵活性。它们定义在集合内,适用于该集合的所有请求,便于参数复用和环境切换。创建变量通过编辑集合->添加变量(Name, Initial Value, Current Value)。在请求URL、Headers等处以`{{variableName}}`引用。可在预请求/测试脚本中动态修改和读取变量。环境变量和集合变量可结合使用,作用域依次为全局→环境→集合→本地。利用集合变量优化API测试效率。
|
5月前
|
数据管理 测试技术 API
Postman变量使用指南
本文介绍了Postman中四种变量的使用,包括全局变量、环境变量、集合变量和局部变量,以提高API测试效率。全局变量适用于多环境共享,环境变量用于切换不同测试环境,集合变量针对特定集合,局部变量则在单个请求或脚本内使用。通过设置和管理这些变量,可以简化测试数据,便于维护测试脚本。
|
6月前
|
XML JSON 测试技术
如何用好Postman中的变量?
如何用好Postman中的变量?
|
JSON JavaScript 前端开发
Postman变量的使用,引入外部数据文件
Postman变量的使用,引入外部数据文件
Postman变量的使用,引入外部数据文件
|
存储 JSON 测试技术
Postman教程-变量、集合的基本使用
在postman的Pre-request Script中设置全局变量后,会把变量存储到全局变量中,删掉脚本后,变量仍然可以读取,如果用脚本设置全局变量的话,要注意不要在多个脚本中同时去设置相同的变量名,避免引起冲突,出现问题不好排查。
Postman教程-变量、集合的基本使用
|
4月前
|
JSON JavaScript 测试技术
Postman接口测试工具详解
Postman接口测试工具详解
200 1
|
2月前
|
JSON Java 数据格式
使用postMan调试接口出现 Content type ‘multipart/form-data;charset=UTF-8‘ not supported“
本文介绍了使用Postman调试接口时遇到的“Content type ‘multipart/form-data;charset=UTF-8’ not supported”错误,原因是Spring Boot接口默认只接受通过`@RequestBody`注解的请求体,而不支持`multipart/form-data`格式的表单提交。解决方案是在Postman中将请求体格式改为`raw`并选择`JSON`格式提交数据。
使用postMan调试接口出现 Content type ‘multipart/form-data;charset=UTF-8‘ not supported“
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0
|
4月前
|
存储
Postman 接口测试配置 Pre-request Script
Postman 接口测试配置 Pre-request Script
212 5
Postman 接口测试配置 Pre-request Script