点击文章末尾的小卡片,免费领取软件测试完整资料。有了这些资料,升职加薪更快。
全局变量和环境变量
全局变量:在Postman中对所有请求生效的变量,具有唯一性。
环境变量:仅在特定环境中生效的变量,在该环境下唯一。
设置:
全局变量:
pm.globals.set("variable_key", "variable_value1");
环境变量:
pm.environment.set("variable_key", "variable_value2");
获取:
全局变量:
- 通过代码获取
- 通过请求参数获取 {
{variable_key}}}
var gl = pm.globals.get("variable_key"); // gl的值为variable_value1
环境变量:
- 通过代码获取
- 通过请求参数获取 {
{variable_key}}}
var en = pm.environment.get("variable_key"); // en的值为variable_value2
实现接口关联
- JSON提取器:
- 正则表达式提取器:
// 将返回的字符串数据转换为JSON格式
var result = json.parse(responseBody);
// 通过JSON对象获取值 result.token
// 设置为全局变量
pm.globals.set("token", result.token);
// 成为全局变量后,可以通过---获取全局变量,实现关联
{{token}} 或 pm.globals.get("token");
// 匹配
var result = responseBody.match(new RegExp(' "token":"(.*?)" '));
// 设置为全局变量 result[1] (索引为1的值即所需的token)
pm.globals.set("token", result[1]);
// 成为全局变量后,可以通过---获取全局变量,实现关联
{{token}} 或 pm.globals.get("token");
加密、解密及动态参数
- 对称加密方式(私钥加密):
- 非对称加密方式(双钥加密):
- 仅加密不解密:
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
RSA加密方法:由一个密码生成公钥和私钥,使用公钥加密、私钥解密;也可用私钥加密、公钥解密。
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
最后,感谢每一位认真阅读我文章的读者,礼尚往来总是要有的。虽然不是什么贵重的东西,但如果你需要的话可以直接拿走:
这些资料对从事【软件测试】的朋友来说应该是最全面和完整的备战资源库,这个仓库也陪伴我度过了最艰难的日子,希望也能对你有所帮助!凡事要趁早,尤其是技术行业,一定要提升自己的技术水平。



雷达卡


京公网安备 11010802022788号







