1. //获取当前时间的时间戳
  2. function getTimestamp(len=10) {
  3. // 如果需要自动获取则将此处代码放开
  4. // var tmp = Date.parse( new Date() ).toString();
  5. // tmp = tmp.substr(0,len);
  6. //return tmp;
  7. return '1546571642'
  8. }
  9. //时间戳换算时间
  10. function timestampToTime(timestamp) {
  11. //时间戳为10位需*1000,时间戳为13位的话不需乘1000
  12. let date = new Date(timestamp * 1000);
  13.    let Y = date.getFullYear() + '-';
  14.    let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
  15.    let D = date.getDate() > 10 ? date.getDate():'0'+date.getDate();
  16.    return Y+M+D;
  17. }
  18.  
  19. // 秘钥ID
  20. let SecretId = 'XXXXXXXXXXX';
  21. // 秘钥key
  22. let SecretKey = 'XXXXXXXXXXXXX';
  23. // 服务器地址
  24. let host = 'timatrix.tencentcloudapi.com';
  25. // 产品名
  26. let service = 'timatrix';
  27. // 时间戳
  28. let RequestTimestamp = getTimestamp(10);
  29. //提交方式
  30. let HTTPRequestMethod = request.method;
  31. // Content-Type数据类型
  32. let contentType = 'multipart/form-data'
  33. let CanonicalURI = '/';
  34. let CanonicalQueryString = '';
  35. let CanonicalHeaders ;
  36. if(HTTPRequestMethod == "POST" || HTTPRequestMethod == "post"){
  37. // contentType = 'multipart/form-data'
  38. // CanonicalHeaders = 'content-type:multipart/form-data\nhost:'+host+'\n';
  39. // 上面是文件
  40. contentType = 'application/json'
  41. CanonicalHeaders = 'content-type:application/json\nhost:'+host+'\n';
  42. } else if (HTTPRequestMethod == "GET" || HTTPRequestMethod == "get"){
  43. contentType = 'application/x-www-form-urlencoded'
  44. CanonicalHeaders = 'content-type:application/x-www-form-urlencoded\nhost:'+host+'\n';
  45. } else {
  46. contentType = 'application/json'
  47. CanonicalHeaders = 'content-type:application/json\nhost:'+host+'\n';
  48. }
  49. let SignedHeaders = 'content-type;host';
  50. let RequestPayload = '';
  51. let HashedRequestPayload = CryptoJS.SHA256(encodeURIComponent(RequestPayload));
  52. let CanonicalRequest =
  53. HTTPRequestMethod + '\n' +
  54. CanonicalURI + '\n' +
  55. CanonicalQueryString + '\n' +
  56. CanonicalHeaders + '\n' +
  57. SignedHeaders + '\n' +
  58. HashedRequestPayload;
  59. let Algorithm = 'TC3-HMAC-SHA256';
  60.  
  61. let CredentialScope = timestampToTime(RequestTimestamp)+'/'+service+'/tc3_request';
  62. let HashedCanonicalRequest = CryptoJS.SHA256(CanonicalRequest);
  63. let StringToSign =
  64. Algorithm + '\n' +
  65. RequestTimestamp + '\n' +
  66. CredentialScope + '\n' +
  67. HashedCanonicalRequest;
  68. let SecretDate = CryptoJS.HmacSHA256(timestampToTime(RequestTimestamp),"TC3" + SecretKey);
  69. let SecretService = CryptoJS.HmacSHA256(service,SecretDate);
  70. let SecretSigning = CryptoJS.HmacSHA256("tc3_request",SecretService);
  71. let Signature = CryptoJS.enc.Hex.stringify(CryptoJS.HmacSHA256(StringToSign,SecretSigning));
  72. Signature = Signature.toLowerCase()
  73. let Authorization =
  74. Algorithm + ' ' +
  75. 'Credential=' + SecretId + '/' + CredentialScope + ', ' +
  76. 'SignedHeaders=' + SignedHeaders + ', '+
  77. 'Signature=' + Signature
  78. postman.setEnvironmentVariable('host', host);
  79. postman.setEnvironmentVariable('contentType', contentType);
  80. postman.setEnvironmentVariable('RequestTimestamp', RequestTimestamp);
  81. postman.setEnvironmentVariable('Authorization', Authorization);

  

postman自动化,测试脚本的更多相关文章

  1. postman常用测试脚本

    测试脚本: 设置环境变量 var jsonData = JSON.parse(responseBody); postman.setGlobalVariable("5KMST", j ...

  2. Postman—测试脚本

    前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...

  3. Python测试开发-浅谈如何自动化生成测试脚本

    Python测试开发-浅谈如何自动化生成测试脚本 原创: fin  测试开发社区  前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录, ...

  4. python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...

  5. CentOS 下运维自动化 Shell 脚本之 expect

    CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...

  6. linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

    红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...

  7. Selenium执行测试脚本稳定性的一些经验分享交流

    Selenium执行测试脚本稳定性的一些经验分享交流 公司的自动化WEB测试框架IATA已上线运行了一段时间,期间发现一些脚本稳定性的问题,与大家分享一下. CASE执行游览器:ie firefox ...

  8. 《转载》Jenkins持续集成-自动化部署脚本的实现《python》

    本文转载自慕课网 读者须知:1.本手记本着记续接前面的两张手记内容整理2.本手记针对tomcat部署测试环境实现 最近工作比较繁忙,导致这章一直拖延,没有太抽出时间来总结.要实现Jenkins端的持续 ...

  9. Postman 常用测试结果验证及使用技巧

    Postman的test本质上是JavaScript代码,通过我们编写测试代码,每一个tests返回True,或是False.每一个tests实际上就是一个测试用例 官方文档给出了很多验证方式,我们通 ...

  10. Postman—命令执行脚本及生成报告

    前言 前面的应用中,都是在postman图形界面工具里面进行测试,但是有时候我们需要把测试脚本集成到CI平台,或者在非图形界面的系统环境下进行测试,那么我们该如果处理呢 通过newman来执行post ...

随机推荐

  1. php exit die的区别

    exit 输出一个消息并且退出当前脚本 void exit([string $status]) void exit(int $status)中止脚本的执行.尽管调用了exit(),Shutdow函数以 ...

  2. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

  3. 如何新建PDF文档,新建PDF文档的方法

    新建PDF文件的话,有两种方式,一种是直接通过使用PDF编辑器http://bianji.xjpdf.com/来新建PDF文件,,还有一种就是将PDF文件转换成Word文件,然后在Word文件中添加, ...

  4. redis数据备份与恢复

    1.启动redis 进入redis目录 redis-cli 2.数据备份 redis 127.0.0.1:6379> SAVE 该命令将在 redis 备份目录中创建dump.rdb文件. 3. ...

  5. windows环境jprofiler配置监控tomcat

    1.点击jprofiler/bin/jprofiler.exe文件安装 2.安装后将C:\Users\Administrator\.jprofiler8\config.xml文件复制到指定文件下,如: ...

  6. Nhibernate 使用 (一)

    一:介绍 NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库.Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具.NHibernate ...

  7. Java List根据对象的某个属性合并list

    package com.test; import java.util.ArrayList; import java.util.List; public class FileTest { public ...

  8. day11.装饰器初识

    1.开放封闭原则 原则: 开放封闭原则,对扩展是开放的,对修改是封闭的. 封版概念:当写好一个功能以后,就不可以再修改此函数,避免下面一系列的调用产生错误. 因此产生了装饰器 2.装饰器形成过程 我们 ...

  9. UOJ#460. 新年的拯救计划 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ460.html 题解 本题的构造方法很多.这里只介绍一种. 首先,总边数为 $\frac{n(n-1)}2 ...

  10. Scrapy基础(十四)————Scrapy实现知乎模拟登陆

    模拟登陆大体思路见此博文,本篇文章只是将登陆在scrapy中实现而已 之前介绍过通过requests的session 会话模拟登陆:必须是session,涉及到验证码和xsrf的写入cookie验证的 ...