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 相关文章推荐
jQuery 性能优化指南(2)
May 21 Javascript
深入理解jQuery中live与bind方法的区别
Dec 18 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
jquery滚动特效集锦
Jun 03 Javascript
jQuery设置Cookie及删除Cookie实例分析
Apr 15 Javascript
浅谈js中的引用和复制(传值和传址)
Sep 18 Javascript
inner join 内联与left join 左联的实例代码
Sep 18 Javascript
VUE 全局变量的几种实现方式
Aug 22 Javascript
Jquery让form表单异步提交代码实现
Nov 14 jQuery
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
Aug 06 Javascript
Vue如何跨组件传递Slot的实现
Dec 14 Vue.js
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
php 缓存函数代码
2008/08/27 PHP
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
Jquery异步上传文件代码实例
2019/11/13 jQuery
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
GE设备配件:GE Appliance Parts(家电零件、配件和滤水器)
2018/11/28 全球购物
客户代表自我评价范例
2013/09/24 职场文书
大学生毕业自荐信
2013/10/10 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
经典婚礼主持词
2014/03/13 职场文书
珍惜资源的建议书
2014/08/26 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
技术负责人岗位职责
2015/02/10 职场文书
学校体育节班级口号
2015/12/25 职场文书
导游词之西递宏村
2019/12/10 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript