postman自定義函數實現 時間函數

 一:主要內容
框架

  • 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全局變量post

打開postman的全局變量globals配置頁面,配置variable爲(自定義命名,後期調用時名稱統一便可):format_time,配置current value爲以下(下面就是普通的js代碼,用於實現格式化日期功能):ui

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");

 

如圖所示:this

 

2. 調用全局變量,獲取格式化好的時間值,並存儲該值到環境變量中,供接口使用該值spa

上面的那段js代碼其實也是能夠直接放在tests或者pre-request script中使用的,之因此我把它放在全局變量裏,是爲了複用方便,由於咱們在作整個接口自動化框架的時候,可能不止一個接口會用到這個格式化函數,那麼是否是全部用到的接口我都要在tests或pre-request script拷貝這麼一大長串的js代碼呢,這樣會顯得腳本很冗長,因此爲了複用方便,我把那段冗長的js代碼放在了全局變量中,只須要寫一次,其餘用到的地方,直接調用便可,固然經過這個方法,你能夠實現任何你想要的函數的封裝prototype

在須要使用的接口預處理腳本中即pre-request script中,調用這個全局變量,並將獲取的格式化日期值設置環境變量,這樣該接口就能獲取當前格式化好的時間了3d

腳本以下:code

//獲取當前時間,並設置環境變量
eval(globals.format_time);
pm.environment.set("timeNow",timeNow);

如圖所示:orm

 

3. 接口使用該值

在須要獲取當前格式化時間的地方,直接使用:{{timeNow}},的方式就能獲取當前值

當接口運行之後,咱們能夠在環境變量中看到當前取值:

 

備註:若是想要獲取格式化格式爲: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利用moment模塊實現格式化日期函數,如輸出:yyyy-MM-dd HH:mm:ss、yyyy-MM-dd 23:59:5九、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'));

而後在須要的地方進行引用便可

 

 

取值結果:

 

博文均爲原創文章,轉載煩請註明出處,感謝!

相關文章
相關標籤/搜索