楼主: 飞扬跋扈商
48 0

Postman接口测试-全局变量 接口关联 加密 解密 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-1-27
最后登录
2018-1-27

楼主
飞扬跋扈商 发表于 2025-11-14 16:49:32 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

点击文章末尾的小卡片,免费领取软件测试完整资料。有了这些资料,升职加薪更快。

全局变量和环境变量

全局变量:在Postman中对所有请求生效的变量,具有唯一性。

环境变量:仅在特定环境中生效的变量,在该环境下唯一。

设置:

全局变量:

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

环境变量:

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

获取:

全局变量:

  1. 通过代码获取
  2. var gl = pm.globals.get("variable_key");   // gl的值为variable_value1
  3. 通过请求参数获取 {{variable_key}}}

环境变量:

  1. 通过代码获取
  2. var en = pm.environment.get("variable_key");  // en的值为variable_value2
  3. 通过请求参数获取 {{variable_key}}}

实现接口关联

  1. JSON提取器:
  2. // 将返回的字符串数据转换为JSON格式
    var result = json.parse(responseBody);
    // 通过JSON对象获取值  result.token
    // 设置为全局变量
    pm.globals.set("token", result.token);
    // 成为全局变量后,可以通过---获取全局变量,实现关联
    {{token}} 或 pm.globals.get("token");
  3. 正则表达式提取器:
  4. // 匹配
    var result = responseBody.match(new RegExp(' "token":"(.*?)" '));
    // 设置为全局变量  result[1]  (索引为1的值即所需的token)
    pm.globals.set("token", result[1]);
    // 成为全局变量后,可以通过---获取全局变量,实现关联
    {{token}} 或 pm.globals.get("token");

加密、解密及动态参数

  1. 对称加密方式(私钥加密):
  2. 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
  3. 非对称加密方式(双钥加密):
  4. RSA加密方法:由一个密码生成公钥和私钥,使用公钥加密、私钥解密;也可用私钥加密、公钥解密。

  5. 仅加密不解密:
  6. 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

最后,感谢每一位认真阅读我文章的读者,礼尚往来总是要有的。虽然不是什么贵重的东西,但如果你需要的话可以直接拿走:

这些资料对从事【软件测试】的朋友来说应该是最全面和完整的备战资源库,这个仓库也陪伴我度过了最艰难的日子,希望也能对你有所帮助!凡事要趁早,尤其是技术行业,一定要提升自己的技术水平。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:post STM POS Man environment

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-3 06:40