1. 程式人生 > >自動化指令碼測試,postman使用沉澱

自動化指令碼測試,postman使用沉澱

// 伺服器地址
var server = 'XXXXXXXXXXXX';
//祕鑰Key
var secretKey = 'XXXXXXXXXXXX';
//獲取當前時間
function createTime() {
	return (new Date()).valueOf();
}
// 當前時間
var time = createTime();
//提交方式
var method = request.method;
// 獲取post請求的引數
var param = request.data;  
// 獲取get請求的引數
var queryParam = pm.request.url.query.members;
for (var i in queryParam) {
    if (queryParam[i].key == "Signature") {
        continue;
    }
    param[queryParam[i].key] = queryParam[i].value;
}
var keys = Object.keys(param), i, len = keys.length;
keys.sort();//根據key經行排序
var requestBody = "";
var firstpass = true;
// 構造資料為 key=param&key=param....字串
for(var index in keys){
	  if(!firstpass){
		requestBody += "&";
	}
	if(keys[index]=="create_time"){
		param[keys[index]]=time;
		console.log(param[keys[index]]);
	}
	requestBody += keys[index] + "=" + param[keys[index]];
	firstpass = false;
}
var encodeURIdataServer = server+"?"+requestBody;
// postman.setEnvironmentVariable('encodeURIdataServer', encodeURIdataServer);
//sha1加密
var Signature = CryptoJS.HmacSHA1(encodeURIdataServer,secretKey);
// HMAC計算返回原始二進位制資料後進行Base64編碼
var base64Signature = CryptoJS.enc.Base64.stringify(Signature);
postman.setEnvironmentVariable('Signature', encodeURIComponent(base64Signature));