postman 变量能够这样写:{{timestamp}} ,也能够用系统的,{{$timestamp}},这样就不用给本身赋值了,但在 pre-requestScript中是获取不到这个值的后端
因此我这用自定义变量:app
而后在postman中定义这些变量dom
而后就是在pre-requestScript中写js脚本赋值和获取值,而后MD5加密post到后端了post
// 获取全局变量 appid = pm.environment.get("appid"); appkey = pm.environment.get("appkey"); //设置时间戳 pm.environment.set("timestamp",Math.round(new Date().getTime())); timestamp = pm.environment.get("timestamp"); //设置GUID pm.environment.set("guid",newGuid()); guid = pm.environment.get("guid"); console.log(newGuid()); var arr = new Array(4) arr[0] = appid arr[1] = guid arr[2] = appkey arr[3] = timestamp var abc = arr.sort(); //排序 //console.log(arr); //console.log(abc); //MD5加密 var md5= CryptoJS.MD5(abc.join("")).toString(); pm.environment.set('signature',md5); /* 生成GUID */ function newGuid() { var guid = ""; for (var i = 1; i <= 32; i++){ var n = Math.floor(Math.random()*16.0).toString(16); guid += n; if((i==8)||(i==12)||(i==16)||(i==20)) guid += "-"; } return guid; }
能够console.log输入日志看看,pre-requestScript中获取的值。并加密成signature 的appid,appkey 等传到后端的值是否一致测试
测试结果一致:ui