2017-09-11 14 views
0

나는 예약을위한 슬롯을 예약해야하고 15 분의 슬롯을 갖는 시나리오를 위해 스크립팅을하고 있습니다. 내가 17 : 15 17:00 약속을 예약하려는 경우 가정 다음 JMeter를의 요청 this->jmeter에서 beanshell/groovy를 사용하여 특정 패턴에서 "HH"(시간) 및 "mm"(분)을 증가시키는 방법은 무엇입니까?

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

처럼 온다

슬롯은 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

StartMin-17 : 15 EndHour-17 : 00 EndMin-17 : 30과 같이 15 분 단위로 증가합니다. 불편을 끼쳐 드려 죄송합니다. –

답변

0

Groovy에서는 TimeCategory API를 사용하여 날짜와 시간을 조작 할 수 있습니다. 당신은 JMeter Variables에서 이전 값 (들)에 액세스 할 수 및 저장 스탠드 vars 속기를 사용하여에 결과

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