postman自定义函数实现 时间函数的思路详解


Posted in Javascript onApril 17, 2019

Postman说明

Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。

Postman背景介绍

用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

Postman的操作环境

postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。

一:主要内容

•postman环境变量方式封装格式化日期函数:yyyy-MM-dd HH:mm:ss
•postman利用moment模块实现格式化日期函数:yyyy-MM-dd HH:mm:ss

二:postman环境变量方式封装格式化日期函数,如输出:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 23:59:59

1. 配置globals全局变量

打开postman的全局变量globals配置页面,配置variable为(自定义命名,后期调用时名称统一即可):format_time,配置current value为如下(下面就是普通的js代码,用于实现格式化日期功能):

Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var timeNow = new Date().Format("yyyy-MM-dd HH:mm:ss");

如图所示:

postman自定义函数实现 时间函数的思路详解

2. 调用全局变量,获取格式化好的时间值,并存储该值到环境变量中,供接口使用该值

上面的那段js代码其实也是可以直接放在tests或者pre-request script中使用的,之所以我把它放在全局变量里,是为了复用方便,因为我们在做整个接口自动化框架的时候,可能不止一个接口会用到这个格式化函数,那么是不是所有用到的接口我都要在tests或pre-request script拷贝这么一大长串的js代码呢,这样会显得脚本很冗长,所以为了复用方便,我把那段冗长的js代码放在了全局变量中,只需要写一次,其他用到的地方,直接调用即可,当然通过这个方法,你可以实现任何你想要的函数的封装

在需要使用的接口预处理脚本中即pre-request script中,调用这个全局变量,并将获取的格式化日期值设置环境变量,这样该接口就能获取当前格式化好的时间了

脚本如下:

//获取当前时间,并设置环境变量
eval(globals.format_time);
pm.environment.set("timeNow",timeNow);

如图所示:

postman自定义函数实现 时间函数的思路详解

3. 接口使用该值

在需要获取当前格式化时间的地方,直接使用:{{timeNow}},的方式就能获取当前值

postman自定义函数实现 时间函数的思路详解

当接口运行以后,我们可以在环境变量中看到当前取值:

postman自定义函数实现 时间函数的思路详解

备注:如果想要获取格式化格式为:yyyy-MM-dd 23:59:59yyyy-MM-dd 00:00:00,则只需要将上面2中pre-request script脚本改成如下即可:

//获取当前时间,并设置环境变量 
eval(globals.format_time); 
pm.environment.set("timeNow",timeNow);
//获取当前时间到时分秒
var dateNow = pm.environment.get("timeNow");
//切割拿到日期加上固定开始结束的时分秒
var startTime = dateNow.split(" ")[0]+" 00:00:00";
var endTime = dateNow.split(" ")[0]+" 23:59:59";
//设置环境变量开始时间和结束时间
pm.environment.set("startTime",startTime);
pm.environment.set("endTime",endTime);

然后在需要的地方直接引用对应的环境变量即可:

postman自定义函数实现 时间函数的思路详解

postman自定义函数实现 时间函数的思路详解

三:postman利用moment模块实现格式化日期函数,如输出:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 23:59:59、yyyy-MM-dd 00:00:00

上面二的方法只是一个思路,提供给你一种postman自定义函数的思维,三是针对时间函数另一种实现方案

只需要在需要的接口的tests或pre-request script脚本中编写如下代码即可:

//调用moment模块
const moment = require('moment')
//格式化日期YYYY-MM-DD 23:59:59和YYYY-MM-DD 00:00:00
pm.environment.set("startTime", moment("00:00:00","HH:mm:ss").format('YYYY-MM-DD HH:mm:ss'));
pm.environment.set("endTime", moment("23:59:59","HH:mm:ss").format('YYYY-MM-DD HH:mm:ss'));
//格式化日期YYYY-MM-DD HH:mm:ss
pm.environment.set("timeNow", moment().format('YYYY-MM-DD HH:mm:ss'));

然后在需要的地方进行引用即可

postman自定义函数实现 时间函数的思路详解

postman自定义函数实现 时间函数的思路详解

取值结果:

postman自定义函数实现 时间函数的思路详解

总结

以上所述是小编给大家介绍的postman自定义函数实现 时间函数的思路详解 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js类型检查实现代码
Oct 29 Javascript
JS鼠标滑过图片时切换图片实现思路
Sep 12 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
深入理解jQuery事件绑定
Jun 02 Javascript
用js实现简单算法的实例代码
Sep 24 Javascript
网页挂马方式整理及详细介绍
Nov 03 Javascript
angularjs之$timeout指令详解
Jun 13 Javascript
Vue组件的使用教程详解
Jan 05 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
javascript实现贪吃蛇游戏(娱乐版)
Aug 17 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
Apr 17 #Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
Apr 17 #Javascript
详解js获取video任意时间的画面截图
Apr 17 #Javascript
解决vue跨域axios异步通信问题
Apr 17 #Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 #Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 #Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 #Javascript
You might like
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
php支付宝接口用法分析
2015/01/04 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
js玩一玩WSH吧
2007/02/23 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
小区门卫岗位职责
2013/12/31 职场文书
区三好学生主要事迹
2014/01/30 职场文书
剪枝的学问教学反思
2014/02/07 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
初中美术教学反思
2016/02/17 职场文书
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang