当前位置: 首页 > Chrome插件推荐 > postman接口测试系列教程(二): 时间戳和加密

postman接口测试系列教程(二): 时间戳和加密

Chrome插件推荐
在使用postman进行接口测试的时候,对于有些接口字段需要时间戳加密,这个时候我们就遇到2个问题,其一是接口中的时间戳如何得到?其二就是对于现在常用的md5加密操作如何在postman中使用代码实现呢?今天我们chrome插件网就为大家整理分享一下postman接口测试系列教程(二): 时间戳和加密。
下面我们以一个具体的接口例子来进行说明。

首先,postman接口的接口文档信息

postman接口测试系列教程(二): 时间戳和加密
此接口文档中,需要三个参数customercode、timestamp和itoken(是customerCode+timestamp+ytoken加密后的结果)。
第一次操作的时候,我们使用postman会这样操作,如图
postman接口测试系列教程(二): 时间戳和加密
这样操作流程是:
选择提交方式是post,输入接口的url地址
选择接口情况的方式是x-www-form-urlencoded
设置接口的参数customerCode、timestamp和itoken和值
设置完成之后点击send发送,查看接口响应结果

postman接口说明

1.x-www-form-urlencoded即是application/x-www-from-urlencoded,将表单内的数字转换为键对值
2.postman中 form-data、x-www-form-urlencoded、raw、binary的区别:http://blog.csdn.net/ye1992/article/details/49998511
3.时间戳转换工具:http://tool.chinaz.com/Tools/unixtime.aspx
4.md5加密工具:https://md5jiami.51240.com/
 
这样创建会话的接口我们就完成了!但是为了系统的安全性,这里的timestamp是每30分钟就会过期的,下次我们又需要重新设置timestamp,就是md5加密的结果......这样操作岂不是太麻烦?

postman接口自定义请求数据

还好postman中Pre-Request Script可以在 Request 之前自定义请求数据,这样做的好处就是可以以嵌入脚本的方式动态准备测试数据,并根据业务需求设计测试用例。这里我们仍继续以上面的用例为例:
在postman中,如何才能获取当前机器上的timestamp呢?

Math.round(new Date().getTime()) 

可以满足我们的要求!!!
那代码如何实现呢?

//设置当前时间戳毫秒

postman.setGlobalVariable("timestamp",Math.round(new Date().getTime()));
这样就将获取的时间戳设置为全局变量timestamp
我们知道itoken的值是md5(customerCode+timestamp+ytoken')
那么接下来就可以动态的获取md5的信息了,代码如下:
 
//发起请求之前获取当前的时间戳放在参数里
//postman.setGlobalVariable("customerCode","***2345677***");
//1.设置环境变量 postman.setEnvironmentVariable("key", "value");
//2.设置全局变量 postman.setGlobalVariable("key", "value");
//environment.customerCode = "***2345677***";
customerCode = postman.getGlobalVariable("customerCode");
//设置当前时间戳毫秒
postman.setGlobalVariable("timestamp",Math.round(new Date().getTime()));
//environment.timestamp = Math.round(new Date().getTime());
 
//postman.setEnvironmentVariable("unixtime_now","timecode");
//var jsonData = JSON.parse(request.data.applyJsonStr);
//postman.setGlobalVariable("ytoken","*********b176a4739bfccb*********");
 
//获取全局变量
//如postman.getGlobalVariable("key");
customerCode = postman.getGlobalVariable("customerCode");
timestamp = postman.getGlobalVariable('timestamp');
ytoken = postman.getGlobalVariable("ytoken");
 
var str = customerCode+timestamp+ytoken;
 
 
//postman.setEnvironmentVariable("str",str);
//environment.str = str;
postman.setGlobalVariable("str",str);
//var md5 = CryptoJS.MD5(str).toString().toLowerCase();
//使用md5加密
//var strmd5 = CryptoJS.MD5(str).toString();
var strmd5 = CryptoJS.MD5(str);
//environment.strmd5 = strmd5;
postman.setGlobalVariable('md5',strmd5);
//environment.md5 = md5;
//timecode=System.currentTimeMillis();
console.log(str);

而在接口请求中,就可以使用已经定义好的变量来进行接口操作,代码如下

customerCode:{{customerCode}}

timestamp:{{timestamp}}
ltoken:{{md5}}
如图所示
postman接口测试系列: 时间戳和加密
这样下次创建接口的时候,直接运行该用例即可,不用再次修改参数值~(≧▽≦)/~
那么我们如何才能知道该接口用例是成功的呢,该怎么断言呢?
这里列出我该接口断言的一个示例,代码如下

/*

// 推荐用全等 ===,确保类型和值都一致
tests['Status code is 200'] = responseCode.code === 200; 
// 判断是否存在 'success' 值  
tests["Body matches code"] = responseBody.has("0");
 
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("sessionId",jsonData.result);
 
tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;
 
tests["have result "]=jsonData.hasOwnProperty("error")!==true;
tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;
    **/
//状态代码是200
if(responseCode.code === 200){
// 判断是否存在 'success' 值,检查响应体包含一个字符串
tests["Body matches code"] = responseBody.has("0");
//响应结果中result保存为全局变量sessonId
var jsonData = JSON.parse(responseBody);
postman.setGlobalVariable("sessionId",jsonData.result);
//输入接口参数信息
tests[`[INFO] Request params: ${JSON.stringify(request.data)}`] = true;
// tests["have result "]=jsonData.hasOwnProperty("error")!==true;
//判断接口响应结果有result
tests["have result "]=jsonData.hasOwnProperty("result")===true;
//判断接口响应时间小于N秒
tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;
}else{
//接口请求失败
tests["Waring:Request Failed. Please Fix!"] = false;
}

这样创建会话的接口就完成了!

以上就是我们chrome插件网为您整理的postman接口测试系列教程(二): 时间戳和加密。更多postman使用教程请关注我们chrome插件网。

Postman Chrome插件

Postman是一个非常有力的Http Client工具,Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,可在Web服务测 试中用来进行接口测试。

Postman Interceptor Chrome插件

送你发送请求通过邮差应用程序,它使用浏览器Cookie通过邮差镀铬的应用程序。
邮差拦截器发射帮助请求。它也可以发送标题这是由镀铬通常的限制,但是对于测试API的关键。拦截器,使这个过程无痛。现在可以无需任何安装步骤或额外的配置实现了将需要一个代理更早一些。

相关插件内容推荐

AlloyDesigner - 前端重构开发辅助工具

开发者插件 2019-10-28 14:49:24

AlloyDesigner是来自Tencent AlloyTeam的前端开发工具,其只出现开发阶段的一定时期,可以在制作时期,也可以在开发测试期,旨在提高前端开发的效率,获得更加便捷的开发体验。

PageXray

开发者插件 2019-11-07 08:56:20

PageXray是一款chrome插件,它将向您显示在任何页面上使用的技术。

NetBeans Connector

开发者插件 2019-05-19 03:19:17

在NetBeans Connector提供获奖的NetBeans IDE和谷歌Chrome浏览器。
的NetBeans IDE提供了一套完整的JavaScript和HTML5的开发工具,包括代码编辑,调试,现场造型,开发与iOS和Android的奖项之间的深

Webstorm网页调试插件:JetBrains IDE Support

开发者插件 2022-05-03 11:14:11

JetBrains IDE Support是一款支持编译即时显示在浏览器上调试的谷歌浏览器插件。作为web开发人员常用的开发者插件,程序员习惯称之为JB插件。这款调试插件需要与一些开发工具结合使用,

Postman Interceptor

开发者插件 2022-05-03 11:25:40

送你发送请求通过邮差应用程序,它使用浏览器Cookie通过邮差镀铬的应用程序。
邮差拦截器发射帮助请求。
它也可以发送标题这是由镀铬通常的限制,但是对于测试API的关键。

Postman

开发者插件 2018-04-16 16:08:38

Postman是一个非常有力的Http Client工具,Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,可在Web服务测 试中用来进行接口测试。

postman接口测试系列教程(一):环境配置

聚合专题 2018-06-25 22:16:02

最近忙着项目接口测试,经过不同工具的对比,发现 postman 使用起来挺顺手的,所以马上决定使用这个工具进行接口测试工作。刚开始的时候,了解了下接口测试的相关信息,直接着手

chrome开发者工具实现整站截屏

聚合专题 2018-08-30 11:44:32

我们经常要遇到将整个网站作为图片保存下来的情况,而windows系统自带的PrintScreen键只能保存当前屏幕的截图 在chrome浏览器中可以安装第三方的截图插件实现整站截图 今天我们要介绍

JetBrains IDE Support v2.0.10

开发者插件 2021-09-15 14:07:43

使用 Google Chrome 的 JetBrains IDE 支持扩展在 web storm 2017.2 或更早版本 (或 JetBrains 的其他 IDE) 中调试客户端应用程序或者在 web storm 2018.2 或更早版本中使用实时编辑功能。

JSON-handle v0.5.6

开发者插件 2019-10-31 09:23:01

JSON-handle 是一款功能强大的 JSON 数据解析 Chrome 插件。它以简单清晰的树形图样式展现 JSON 文档,并可实时编辑。针对数据量大的场景,可以做局部选取分析。