溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在postman中自定義函數

發布時間:2021-03-15 18:00:01 來源:億速云 閱讀:2015 作者:Leah 欄目:web開發

如何在postman中自定義函數?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

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中自定義函數

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女