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 ...
随机推荐
- php exit die的区别
exit 输出一个消息并且退出当前脚本 void exit([string $status]) void exit(int $status)中止脚本的执行.尽管调用了exit(),Shutdow函数以 ...
- LVS原理详解(3种工作方式8种调度算法)--老男孩
一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...
- 如何新建PDF文档,新建PDF文档的方法
新建PDF文件的话,有两种方式,一种是直接通过使用PDF编辑器http://bianji.xjpdf.com/来新建PDF文件,,还有一种就是将PDF文件转换成Word文件,然后在Word文件中添加, ...
- redis数据备份与恢复
1.启动redis 进入redis目录 redis-cli 2.数据备份 redis 127.0.0.1:6379> SAVE 该命令将在 redis 备份目录中创建dump.rdb文件. 3. ...
- windows环境jprofiler配置监控tomcat
1.点击jprofiler/bin/jprofiler.exe文件安装 2.安装后将C:\Users\Administrator\.jprofiler8\config.xml文件复制到指定文件下,如: ...
- Nhibernate 使用 (一)
一:介绍 NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库.Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具.NHibernate ...
- Java List根据对象的某个属性合并list
package com.test; import java.util.ArrayList; import java.util.List; public class FileTest { public ...
- day11.装饰器初识
1.开放封闭原则 原则: 开放封闭原则,对扩展是开放的,对修改是封闭的. 封版概念:当写好一个功能以后,就不可以再修改此函数,避免下面一系列的调用产生错误. 因此产生了装饰器 2.装饰器形成过程 我们 ...
- UOJ#460. 新年的拯救计划 构造
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ460.html 题解 本题的构造方法很多.这里只介绍一种. 首先,总边数为 $\frac{n(n-1)}2 ...
- Scrapy基础(十四)————Scrapy实现知乎模拟登陆
模拟登陆大体思路见此博文,本篇文章只是将登陆在scrapy中实现而已 之前介绍过通过requests的session 会话模拟登陆:必须是session,涉及到验证码和xsrf的写入cookie验证的 ...