全局变量和环境变量
全局变量:在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
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
只有不断追求进步,才能超越自己的极限;只有坚持不懈的奋斗,才能实现辉煌的人生。不管前路如何崎岖,始终相信自己的力量,勇往直前,无坚不摧!
只有不断挑战自我、超越极限的勇气与毅力,才能将梦想化作现实,让奋斗的火焰燃烧于心,努力奋斗,才能创造属于自己的辉煌人生。
以梦为马,奋斗不辍;困难会消融于坚持,努力铸就辉煌;每一份付出都值得,成功属于拼搏的人。相信自己的力量,超越极限,成就不凡!