JMeter 內置日期(時間)函數總結


JMeter 內置日期(時間)函數總結

 

by:授客 QQ:1033553122

1. 測試環境

apache-jmeter-3.3

下載地址:

http://jmeter.apache.org/changes_history.html

 

win7

 

 

2. __time函數

__time函數以各種格式返回當前時間

${__time(Format, variableName)}

  

說明:

Format  傳遞給 SimpleDateFormat的格式。參數可選,如果不提供該參數,則默認返回1970-01-01 00:00:00到當前時間的毫秒數。如果Format匹配"/ddd" (這里ddd為小數位數),那么函數將返回前面所述的時間毫秒數/ddd后的值。例如"/1000",返回1970-01-01 00:00:00到當前時間的秒數。否則傳遞當前時間給SimpleDateFormat

variableName   用於存放time函數返回結果值的變量名稱,參數可選

例子:

log.info("${__time()}");

log.info("${__time(,)}");

log.info("${__time(/1000,)}"); # 精確到秒

 

log.info("${__time(, var)}");

log.info("${var}");

 

log.info("${__time(yyyyMMdd, var)}");

log.info("${__time(YMD,)}");

 

log.info("${__time(HHmmss,)}");

log.info("${__time(HMS,)}");

 

log.info("${__time(yyyyMMdd-HHmmss,)}");

log.info("${__time(YMDHMS,)}");

 

log.info("${__time(dd/MM/yyyy,)}");

 

log.info("${__time(yyyy-MM-dd HH:mm:ss,)}");

log.info("${__time(yyyy-MM-dd HH:mm:ss:SSS,)}");

注意:格式區分大小寫

結果:

JMeter_內置日期(時間)函數總結

 

 

 

參考鏈接:http://jmeter.apache.org/usermanual/functions.html#__time

 

3. __timeShift函數

3.3版本開始才內置該函數類似__time函數,不同之處在於它可以返回按指定時間單位和時間數量偏移后的值。

${__timeShift(Format, DateToShift, valueToShift, LocaleToUseForFormat, variableName)}

說明:

Format  同__time()函數,參數可選

DateToShift   日期(時間)值,格式同Format參數匹配,如果不匹配、未提供該參數值,則默認使用當前日期。偏移是基於該日期(時間)的。參數可選

valueToShift  指要偏移的秒數、分鍾數、小時數、天數。參數可選

書寫語法參考:

https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html#parse-java.lang.CharSequence-

例子:

PT20.345S  被解析為 20.345 秒,意為在DateToShift 的基礎上增加20.345秒

PT15M  被解析為 15分鍾,意為在DateToShift 的基礎上增加15分鍾秒

PT10H 被解析為 10小時,意為在DateToShift 的基礎上增加10小時

P2D 被解析為 2 天,意為在DateToShift 的基礎上增加2天

-P6H3M 被解析為 -6 小時又-3小時,,意為在DateToShift 的基礎上增加6小時3分鍾

 

LocaleToUseForFormat 表示日期(時間)的語言環境,即用於格式化日期(時間)的語言. 語言代碼必須小寫。國家代碼必須大寫。分隔符必須為下划線。比如en_EN。參數可選,如果未提供,則模式使用ApacheJMeter 的locale.

參考資料:

http://www.oracle.com/technetwork/java/javase/javase7locales-334809.html

 

variableName   用於存放time函數返回結果值的變量名稱,參數可選

 

例子:

JMeter_內置日期(時間)函數總結

 

 

log.info("${__timeShift(,,,,)}");

log.info("${__timeShift(yyyy-MM-dd HH:mm:ss,,,,)}");  // 使用默認日期時間

log.info("${__timeShift(yyyy-MM-dd HH:mm:ss,2018/11/30 23:59:59,,)}"); // 使用默認日期時間

log.info("${__timeShift(yyyy-MM-dd HH:mm:ss,2018-11-30 23:59:59,,)}");

 

log.info("${__timeShift(dd/MM/yyyy,21/01/2018,P2D,,)}"); // 返回 23/01/2018

 

log.info("${__timeShift(dd MMMM yyyy,21 février 2018,P2D,fr_FR,)}");  // 返回 23 février 2018

 

log.info("${__timeShift(yyyyMMdd,,,,var)}"); // 存儲返回值到變量var

log.info("${var}");

 

 

運行結果:

 

JMeter_內置日期(時間)函數總結 

參考鏈接:

http://jmeter.apache.org/usermanual/functions.html#__timeShift

 

4. __RandomDate

函數返回給定起始日期和結束日期之間的隨機日期

${__RandomDate(Format, StartDate, EndDate, LocaleToUseForFormat, variableName)}

)}

 

Format  同__time()函數,默認值為 yyyy-MM-dd

StartDate  起始日期,默認為now

EndDate  結束日期,參數必填

LocaleToUseForFormat  同__timeShift()函數

variableName  同__time()函數

 

注意:StartDate  和 EndDate  格式必須和Format保持一致

 

例子:

 

JMeter_內置日期(時間)函數總結 

log.info("${__RandomDate(,,2019-01-01,,)}"); // 返回當前日期到2019-01-01直接的日期

 

log.info("${__RandomDate(yyyyMMdd,20181117,20181130,,var)}"); // 存儲返回值到變量var

log.info("${var}");

 

log.info("${__RandomDate(dd MM yyyy,,08 07 2050,,)}"); // 自定義格式 // 返回當前日期到2050年7月8號之間的日期

 

運行結果:

JMeter_內置日期(時間)函數總結

 

 

 

參考鏈接:

http://jmeter.apache.org/usermanual/functions.html#__RandomDate

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM