postman自动化,测试脚本
//获取当前时间的时间戳
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自动化,测试脚本的更多相关文章
- postman常用测试脚本
测试脚本: 设置环境变量 var jsonData = JSON.parse(responseBody); postman.setGlobalVariable("5KMST", j ...
- Postman—测试脚本
前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...
- Python测试开发-浅谈如何自动化生成测试脚本
Python测试开发-浅谈如何自动化生成测试脚本 原创: fin 测试开发社区 前天 阅读文本大概需要 6.66 分钟. 一 .接口列表展示,并选择 在右边,点击选择要关联的接口,区分是否要登录, ...
- python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)
经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...
- CentOS 下运维自动化 Shell 脚本之 expect
CentOS 下运维自动化 Shell脚本之expect 一.预备知识: 1.在 Terminal 中反斜杠,即 "" 代表转义符,或称逃脱符.("echo -e与pri ...
- linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本
红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版 ...
- Selenium执行测试脚本稳定性的一些经验分享交流
Selenium执行测试脚本稳定性的一些经验分享交流 公司的自动化WEB测试框架IATA已上线运行了一段时间,期间发现一些脚本稳定性的问题,与大家分享一下. CASE执行游览器:ie firefox ...
- 《转载》Jenkins持续集成-自动化部署脚本的实现《python》
本文转载自慕课网 读者须知:1.本手记本着记续接前面的两张手记内容整理2.本手记针对tomcat部署测试环境实现 最近工作比较繁忙,导致这章一直拖延,没有太抽出时间来总结.要实现Jenkins端的持续 ...
- Postman 常用测试结果验证及使用技巧
Postman的test本质上是JavaScript代码,通过我们编写测试代码,每一个tests返回True,或是False.每一个tests实际上就是一个测试用例 官方文档给出了很多验证方式,我们通 ...
- Postman—命令执行脚本及生成报告
前言 前面的应用中,都是在postman图形界面工具里面进行测试,但是有时候我们需要把测试脚本集成到CI平台,或者在非图形界面的系统环境下进行测试,那么我们该如果处理呢 通过newman来执行post ...
随机推荐
- ch03 课下作业——缓冲区溢出漏洞实验
一.实验简介: 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭 ...
- find xargs 简单组合使用
简单总结下,留作自己以后拾遗...... 一.find xargs 简单组合 ## mv 小结find ./ -type f -name "*.sh"|xargs mv -t /o ...
- Linux Django项目部署
步骤 .数据库的处理 1.1 上传bbs.sql 1.2 在mysql中创建bbs库,并导入数据库SQL脚本 mysql> create database bbs charset utf8mb4 ...
- LabVIEW--使用云端编译器编译多个vi
使用ni 云服务器编译vi 详细请看链接: https://users.niwsc.com/compilecloud/#/ http://www.ni.com/white-paper/52328/en ...
- IIS无法删除应该程序池 因为它包含X个应用程序
今天代码主分支在vs2015创建了虚拟目录http://localhost/webapp指向的物理路径是E:\webapp 之后新开了一个分支把代码放在了D:\webapp之后又在vs2015中创建了 ...
- TCP 的那些事儿
TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获.关于TCP这个协议的细节,我还是推荐你去 ...
- 数字滚动特效 NumScroll
1.使用前先引入jquery2.前端学习群:814798690 下载地址 https://github.com/chaorenzeng/jquery.numscroll.js.git 快速使用 1.引 ...
- Sqlserver 锁(转)
转载 http://www.cnblogs.com/zhouqianhua/archive/2011/04/15/2017049.html 总结: 锁的种类: 共享锁\排它锁\更新锁\意向锁\计 ...
- 迭代DOM集合的几种方法
1. Array.prototype.slice.call() 转数组再遍历 var a= document.querySelectorAll('div'); var arr = Array. ...
- UOJ#42. 【清华集训2014】Sum 类欧几里德算法
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ42.html 题解 首先我们把式子改写一下: $$(-1)^{\lfloor a\rfloor} \\=1 ...