2014-02-18 97 views
4

即時嘗試在Jmeter中創建一個參數,給出當前時間戳+5分鐘。有誰知道如何做到這一點?要生成當前時間戳我有這個:$ {__ time(HH:mm:ss,TIMESTAMP)}Jmeter - 未來的時間戳

回答

9

恐怕__time()函數沒有提供足夠的靈活性。你需要通過Beanshell Sampler or Beanshell Pre Processor

相關的BeanShell代碼來計算該日期值將看起來像

import java.text.SimpleDateFormat; 
import java.util.Calendar; 
import java.util.Date; 

Date now = new Date(); // get current time 
Calendar c = Calendar.getInstance(); // get Java Calendar instance 
c.setTime(now); // set Calendar time to now 
c.add(Calendar.MINUTE, 5); // add 5 minutes to current time 
Date now_plus_5_minutes = c.getTime(); // get Date value for amended time 
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); // create a formatter for date  
String mydate = sdf.format(now_plus_5_minutes); // format date as string 
vars.put("mydate",mydate); // save date to JMeter variable named "mydate" 

您可以參考該mydate

  • $ {}指明MyDate
  • $ {__ V(mydate)}

在pl王牌,你需要提供更新的日期。

希望這會有所幫助。

5

不得不用,但對於未來的日期在天方面:

import java.text.SimpleDateFormat; 
    import java.util.Date; 

    Date date = new Date(); 
    date.setDate(date.getDate()+5); 
    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
    // or: SimpleDateFormat df = new SimpleDateFormat("MM-dd-yyyy"); 
    String formattedDate = df.format(date); 
    vars.put("myFutureDate",formattedDate); 

的你上面的代碼塊都應該投入BeanShellPreprocessorenter image description here

要調用一個變量日期適當的地方 -

${myFutureDate} 
0

這裏有一個單行的解決方案,我建議:

${__groovy(use(groovy.time.TimeCategory) { (new Date() + 5.minutes).format('yyyyMMddHHmmssSSS') })} 

時間基於Groovy的TimeCategoryhttp://docs.groovy-lang.org/latest/html/api/groovy/time/TimeCategory.html偏移,是超級容易閱讀和使用(例如,您可以替換5.minutes1.day左右)。

與Dmitri和Eugene的答案相比,上面的解決方案要短得多,不需要定義任何額外的配置並且每次都進行評估(因此它可以在JMeter腳本中多次使用)。不建議在理查德的回答

的JavaScript在JMeter的使用: http://jmeter.apache.org/usermanual/functions.html#__javaScript

的Groovy也是日期操作(感謝TimeCategory)和日期格式方面更好。

測試Jmeter 3.2