码迷,mamicode.com
首页 > 其他好文 > 详细

postman自动化,测试脚本

时间:2019-01-11 20:40:04      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:amp   ade   UNC   cas   environ   code   pos   multi   signed   

//获取当前时间的时间戳
function getTimestamp(len=10) {
//  如果需要自动获取则将此处代码放开
//  var tmp = Date.parse( new Date() ).toString();
 // tmp = tmp.substr(0,len);
  //return tmp;
     return ‘1546571642‘
}
//时间戳换算时间
function timestampToTime(timestamp) {
	//时间戳为10位需*1000,时间戳为13位的话不需乘1000
   let date = new Date(timestamp * 1000);
   let Y = date.getFullYear() + ‘-‘;
   let M = (date.getMonth()+1 < 10 ? ‘0‘+(date.getMonth()+1) : date.getMonth()+1) + ‘-‘;
   let D = date.getDate() > 10 ? date.getDate():‘0‘+date.getDate();
   return Y+M+D;
}

// 秘钥ID
let SecretId = ‘XXXXXXXXXXX‘;
// 秘钥key
let SecretKey = ‘XXXXXXXXXXXXX‘;
// 服务器地址
let host = ‘timatrix.tencentcloudapi.com‘;
// 产品名
let service = ‘timatrix‘;
// 时间戳
let RequestTimestamp = getTimestamp(10);
//提交方式
let HTTPRequestMethod = request.method;
// Content-Type数据类型
let contentType = ‘multipart/form-data‘
let CanonicalURI = ‘/‘;
let CanonicalQueryString = ‘‘;
let CanonicalHeaders ;
if(HTTPRequestMethod == "POST" || HTTPRequestMethod == "post"){
//   contentType = ‘multipart/form-data‘
//   CanonicalHeaders = ‘content-type:multipart/form-data\nhost:‘+host+‘\n‘;
//   上面是文件
  contentType = ‘application/json‘
  CanonicalHeaders = ‘content-type:application/json\nhost:‘+host+‘\n‘;
} else if (HTTPRequestMethod == "GET" || HTTPRequestMethod == "get"){
  contentType = ‘application/x-www-form-urlencoded‘
  CanonicalHeaders = ‘content-type:application/x-www-form-urlencoded\nhost:‘+host+‘\n‘;
} else {
  contentType = ‘application/json‘
  CanonicalHeaders = ‘content-type:application/json\nhost:‘+host+‘\n‘;
}
let SignedHeaders = ‘content-type;host‘;
let RequestPayload = ‘‘;
let HashedRequestPayload = CryptoJS.SHA256(encodeURIComponent(RequestPayload));
let CanonicalRequest =
  HTTPRequestMethod + ‘\n‘ +
  CanonicalURI + ‘\n‘ +
  CanonicalQueryString + ‘\n‘ +
  CanonicalHeaders + ‘\n‘ +
  SignedHeaders + ‘\n‘ +
  HashedRequestPayload;
let Algorithm = ‘TC3-HMAC-SHA256‘;

let CredentialScope = timestampToTime(RequestTimestamp)+‘/‘+service+‘/tc3_request‘;
let HashedCanonicalRequest = CryptoJS.SHA256(CanonicalRequest);
let StringToSign =
  Algorithm + ‘\n‘ +
  RequestTimestamp + ‘\n‘ +
  CredentialScope + ‘\n‘ +
  HashedCanonicalRequest;
let SecretDate = CryptoJS.HmacSHA256(timestampToTime(RequestTimestamp),"TC3" + SecretKey);
let SecretService = CryptoJS.HmacSHA256(service,SecretDate);
let SecretSigning = CryptoJS.HmacSHA256("tc3_request",SecretService);
let Signature = CryptoJS.enc.Hex.stringify(CryptoJS.HmacSHA256(StringToSign,SecretSigning));
Signature = Signature.toLowerCase()
let Authorization =
  Algorithm + ‘ ‘ +
  ‘Credential=‘ + SecretId + ‘/‘ + CredentialScope + ‘, ‘ +
  ‘SignedHeaders=‘ + SignedHeaders + ‘, ‘+
  ‘Signature=‘ + Signature
postman.setEnvironmentVariable(‘host‘, host);
postman.setEnvironmentVariable(‘contentType‘, contentType);
postman.setEnvironmentVariable(‘RequestTimestamp‘, RequestTimestamp);
postman.setEnvironmentVariable(‘Authorization‘, Authorization);

  

postman自动化,测试脚本

标签:amp   ade   UNC   cas   environ   code   pos   multi   signed   

原文地址:https://www.cnblogs.com/ChineseLiao/p/10257088.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!