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");
如圖所示:
2. 調用全局變量,獲取格式化好的時間值,并存儲該值到環境變量中,供接口使用該值
上面的那段js代碼其實也是可以直接放在tests或者pre-request script中使用的,之所以我把它放在全局變量里,是為了復用方便,因為我們在做整個接口自動化框架的時候,可能不止一個接口會用到這個格式化函數,那么是不是所有用到的接口我都要在tests或pre-request script拷貝這么一大長串的js代碼呢,這樣會顯得腳本很冗長,所以為了復用方便,我把那段冗長的js代碼放在了全局變量中,只需要寫一次,其他用到的地方,直接調用即可,當然通過這個方法,你可以實現任何你想要的函數的封裝
在需要使用的接口預處理腳本中即pre-request script中,調用這個全局變量,并將獲取的格式化日期值設置環境變量,這樣該接口就能獲取當前格式化好的時間了
腳本如下:
//獲取當前時間,并設置環境變量eval(globals.format_time);pm.environment.set("timeNow",timeNow);
如圖所示:
3. 接口使用該值
在需要獲取當前格式化時間的地方,直接使用:{{timeNow}},
的方式就能獲取當前值
當接口運行以后,我們可以在環境變量中看到當前取值:
備注:如果想要獲取格式化格式為:yyyy-MM-dd 23:59:59
或yyyy-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: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:00pm.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:sspm.environment.set("timeNow", moment().format('YYYY-MM-DD HH:mm:ss'));
然后在需要的地方進行引用即可
取值結果:
總結
以上所述是小編給大家介紹的postman自定義函數實現 時間函數的思路詳解 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
新聞熱點
疑難解答