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提取器

  1. // 把返回的字符串格式的数据转化为json格式

  2. var result = json.parse(responseBody);

  3. // 通过json对象取value值 result.token

  4. // 把取得的result设置为全局变量

  5. pm.globals.set("token", result.token);

  6. // 为全局变量后,可以通过---获取全量变量,实现关联

  7. {{token}} 或 pm.globals.get("token");

2、正则表达式提取器

  1. // match匹配

  2. var result = responseBody.match(new RegExp(' "token":"(.*?)" '));

  3. // 设置为全局变量 result[1] (下标为1的值为想要的token值)

  4. pm.globals.set("token", result[1]);

  5. // 为全局变量后,可以通过---获取全量变量,实现关联

  6. {{token}} 或 pm.globals.get("token");

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

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

Base64加密:

  1. // 转为UTF-8编码格式

  2. var username = CryptoJS.enc.utf-8.parse(''admin'');

  3. // 转为base64加密

  4. var base64_username = CryptoJS.enc.Base64.stringify(username );

  5. console.log(base64_username); // YWRtaW4K

Base64解密:

  1. // 先解密

  2. var username = CryptoJS.enc.Base64.parse(YWRtaW4K);

  3. // 解密后转为utf-8格式

  4. var new_username = username.tostring(CryptoJS.enc.utf-8);

  5. console.log(new_username); // admin

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

RSA加密方式:

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

3、只加密不解密

MD5 、SHA系列

  1. // MD5加密

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

postman的内置动态参数:

  1. {{$timestamp}}  //自动生成当前时间的时间戳 (不方便做断言)

  2. {{$randomInt}}  //生成0-1000的随机数

  3. {{$guid}}   //生成一个GUID长字符串随机数

自定义参数:

自定义时间戳的参数

  1. // 获取当前系统时间

  2. var times = Date.now();

  3. // 把获取的时间设置为全局变量

  4. pm.globals.set("times", times); // 使用{{times}}即可

动态参数断言:

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

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当使用Postman发起接口调用时,如果接口的Content-Type为application/json,需要确保请求体中的参数是正确的JSON格式。根据你提供的信息,报错信息显示JSON解析错误,提示出现了意外字符。这可能是由于请求体中存在非法字符导致的。你可以检查请求体中的参数是否包含了非法字符,比如特殊空格字符。另外,还可以确认一下请求示例中的JSON格式是否正确,确保每个字段名和值都被双引号包裹。如果问题仍然存在,可以尝试使用其他工具或方法进行接口调用,以确定问题的具体原因。 #### 引用[.reference_title] - *1* *3* [postman调用post类型接口,参数类型为json,JSON parse error解决](https://blog.csdn.net/FightingITPanda/article/details/117925879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Postman - post请求application/json参数](https://blog.csdn.net/hutuyaoniexi/article/details/125908357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值