2017-09-11 22 views
0

我正在編寫一個腳本,我必須爲預約預訂插槽,並且插槽的持續時間爲15分鐘。 假設,如果我想預訂從17:00預約到17:15,然後在JMeter的請求來像這個 - >如何使用beanshell/groovy在jmeter中以某種模式增加「HH」(小時)和「mm」(分鐘)?

StartHour-17 StartMIn-00 EndHour-17 EndMinute-15

可以使用csv config來選擇插槽,但是我想在jmeter中使用beanshell/groovy自動化,因爲csv在準備測試數據時需要時間。 所以有可能在beanshell中寫入,這樣每次迭代時隙就會自動增加15分鐘,即下一個要選擇的時隙爲17:15-17:30,並且jmeter中的請求爲: StartHour-17 StartMIn-15 EndHour-17 EndMinute-30

我試着在BeanShell中,但無法得到理想的結果作爲請求正在以分鐘結束小時和結束分鐘開始時間的開始時間的條款。

+0

你出15個分鐘的增量,但所有的例子在30個分鐘爲增量。 – doelleri

+0

對不起,它的增量是15分鐘,即StartTime-17:00 StartMin-17:15 EndHour-17:00 EndMin-17:30。 不便之處.. –

回答

0

在Groovy中,您可以使用TimeCategory API來操作日期和時間。

示例代碼到15分鐘添加到當前時間會是這樣的:

def now = new Date() 
log.info('Before: ' + now.format('HH:mm')) 
use(groovy.time.TimeCategory) { 
    def nowPlus15Mins = now + 15.minutes 
    log.info('After: ' + nowPlus15Mins.format('HH:mm')) 
} 

JMeter Groovy add 15 minutes to current time

您可以從JMeter Variables訪問前值(S)和存儲使用vars速記矗立導致放進去爲JMeterVariables類實例,並提供對所有JMeter變量的讀/寫訪問。

有關在JMeter中使用Groovy腳本的更多詳細信息,請參閱Apache Groovy - Why and How You Should Use It

0

你可以做這樣的事情:

def startDate = new Date() 
startDate.set(hourOfDay: 17, minute: 0) 
use (groovy.time.TimeCategory) { 
    5.times { 
     def start = startDate.format("'StartHour-'HH' StartMin-'mm") 
     def endDate = startDate + 15.minutes 
     def end = endDate.format("'EndHour-'HH' EndMin-'mm") 
     println "$start $end" 
     startDate = endDate 
    } 
} 

它給你:

StartHour-17 StartMin-00 EndHour-17 EndMin-15 
StartHour-17 StartMin-15 EndHour-17 EndMin-30 
StartHour-17 StartMin-30 EndHour-17 EndMin-45 
StartHour-17 StartMin-45 EndHour-18 EndMin-00 
StartHour-18 StartMin-00 EndHour-18 EndMin-15 
相關問題