news 2026/5/1 8:18:04

Postman接口测试—全局变量/接口关联/加密/解密

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Postman接口测试—全局变量/接口关联/加密/解密

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

全局变量和环境变量

全局变量:在postman全局生效的变量,全局唯一
环境变量:在特定环境下生效的变量,本环境内唯一

设置:

全局变量:

pm.globals.set("variable_key", "variable_value1");

环境变量:

pm.environment.set("variable_key", "variable_value2");

获取:

全局变量:

1、代码获取

var gl = pm.globals.get("variable_key"); // gl的值为variable_value1

2、请求参数获取 {{variable_key}}

环境变量:

1、代码获取

var en = pm.environment.get("variable_key"); // en的值为variable_value2

2、请求参数获取 {{variable_key}}

实现接口关联

1、json提取器

// 把返回的字符串格式的数据转化为json格式 var result = json.parse(responseBody); // 通过json对象取value值 result.token // 把取得的result设置为全局变量 pm.globals.set("token", result.token); // 为全局变量后,可以通过---获取全量变量,实现关联 {{token}} 或 pm.globals.get("token");

2、正则表达式提取器

// match匹配 var result = responseBody.match(new RegExp(' "token":"(.*?)" ')); // 设置为全局变量 result[1] (下标为1的值为想要的token值) pm.globals.set("token", result[1]); // 为全局变量后,可以通过---获取全量变量,实现关联 {{token}} 或 pm.globals.get("token");

加密、解密、内置/自定义动态参数

1、对称的加密方式(私钥加密)

Base64加密:

// 转为UTF-8编码格式 var username = CryptoJS.enc.utf-8.parse(''admin''); // 转为base64加密 var base64_username = CryptoJS.enc.Base64.stringify(username ); console.log(base64_username); // YWRtaW4K

Base64解密:

// 先解密 var username = CryptoJS.enc.Base64.parse(YWRtaW4K); // 解密后转为utf-8格式 var new_username = username.tostring(CryptoJS.enc.utf-8); console.log(new_username); // admin

2、非对称式加密方式(双钥加密) :

RSA加密方式:

由一个密码生成公钥和私钥,公钥加密、私钥解密;私钥加密、公钥解密

3、只加密不解密

MD5 、SHA系列

// MD5加密 var password = CryptoJS.MD5("admin").tostring().toUpperCase(); // 选择32位大写

postman的内置动态参数:

{{$timestamp}} //自动生成当前时间的时间戳 (不方便做断言) {{$randomInt}} //生成0-1000的随机数 {{$guid}} //生成一个GUID长字符串随机数

自定义参数:

自定义时间戳的参数

// 获取当前系统时间 var times = Date.now(); // 把获取的时间设置为全局变量 pm.globals.set("times", times); // 使用{{times}}即可

动态参数断言:

在postman的tests页签,不能通过{{}}方式获取全局变量,只能通过以下方式获取

①获取全局变量的方式,拼接 pm.globals.get(“times”)
②globals[“times”]
③globals.times

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 4:41:43

9、什么是运行时常量池

什么是运行时常量池 存在于方法区中(元空间)。当类加载到内存中后,jvm就会将class常量池中的内容存放到运行时常量池中,并把里面的符号地址变成真实地址,这时运行时常量池中的信息还只是class常量池中的符号,还没有变成java对象&…

作者头像 李华
网站建设 2026/4/25 2:10:35

强化学习系统测试:奖励函数设计陷阱

被忽视的奖励函数危机 在强化学习(RL)系统测试中,奖励函数常被视为“黑盒组件”。2025年DeepMind事故分析报告显示,73%的RL系统失效源于奖励设计缺陷,而非算法实现错误。本文从测试视角解剖三大设计陷阱,提…

作者头像 李华
网站建设 2026/4/18 10:01:51

AI在性能测试中的应用:预测负载模式的机制与实践

1 负载预测:性能测试的范式革命 传统性能测试依赖人工设计负载模型,存在三大痛点: 场景失真:静态脚本无法模拟真实用户行为波动 资源浪费:过度测试占比超60%(Gartner 2025) 响应滞后&#xf…

作者头像 李华
网站建设 2026/5/1 6:49:31

C#代码示例:如何在网页上实现机械制造行业的大文件秒传?

文件管理系统毕业设计:从IE8兼容到百万梦想的奇幻漂流 大家好,我就是那个被IE8折磨到怀疑人生的通讯专业大三狗。本来以为做个文件管理系统毕业设计撑死两周搞定,没想到这项目直接让我体验了一把"全栈工程师"的酸爽人生。 需求分…

作者头像 李华
网站建设 2026/5/1 5:37:59

ROS2开发

ROS 2(Robot Operating System 2)是用于机器人开发的灵活框架,相较于 ROS 1,它在实时性、安全性、跨平台支持和分布式通信等方面有显著提升。以下是一个 ROS 2 开发的快速入门指南,适用于初学者或希望系统化学习的人。…

作者头像 李华
网站建设 2026/4/21 12:18:08

.NET MVC中如何支持工程建筑行业的大文件夹上传与目录结构?

介绍 在Web 程序中上传文件是很常见的需求。利用HTTP 协议上传文件的方式非常有限,最常见的莫过于使用 元素进行上传。这种上传方式会将内容使用multipart/form-data 方案进行编码,并将内容POST 到服务器端。使用multipart/form-data 编码方式与默认的a…

作者头像 李华