2017-09-11 4 views
0

私は予定のための予約をしなければならないシナリオのためにスクリプトを作成していて、スロットの長さは15分です。 私は午前17時から午後5時15分に予定を予約したい場合はjmeterのbeanshell/groovyを使用して特定のパターンで "HH"(時間)と "mm"(分)を増やす方法はありますか?

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

>その後、JMeterの中の要求がthis-のように来て、と仮定

スロットはcsv configを使って選択できますが、テストデータの準備中にcsvが時間を取っているので、jmeterでbeanshell/groovyを使用して自動化したいと思います。 これは、beanshellで書くことができるので、スロットが15分ごとに自動的にインクリメントされます。すなわち、選択される次のスロットは17:15-17:30で、jmeterの要求は StartHour-17 StartMIn-15 EndHour-17 EndMinute-30

私はBeanShellの中で試みたが、要求はエンド時と終了分分のスタート時間開始の面で取っているように、所望の結果を得ることができません。

+0

あなたは15分単位を言うが、あなたのすべての例は、30分単位です。 – doelleri

+0

残念ですが、StartTime-17:00 StartMin-17:15 EndHour-17:00 EndMin-17:30の15分増分です。 ご迷惑をおかけして申し訳ございません.. –

答えて

0

Groovyでは、日付と時刻を操作するためにTimeCategory APIを使用できます。あなたが立ってvars速記を使用してそれらにJMeter Variablesや店舗の結果から、以前の値(複数可)にアクセスすることができます

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

:現在の時刻に15分を追加する

例のコードは次のようなものになるだろう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 
関連する問題