2013-08-02 5 views
3

저는 API 응답에 관한 날짜로 작업하고 있습니다. API에서 오는 날짜는 EST입니다. 나는 값을 가진 내가 JMeter를에서 자바 스크립트와 함께이 작업을 수행하려고jmeter 날짜를 EST에서 UTC로 변환합니다.

UTC 형식으로 된 다른 API 응답에서 날짜와 UTC에 EST (기술적 EDT) 날짜를 변환 한 후 비교해야합니다. 나는 "HTTP Request"샘플러의 자식으로 "BSF PostProcessor"를 가지고있다.

내 입력 : endDate가 = 2014-01-31T23 : 59 : 59

나는 몇 가지 옵션을 시도했지만 그들 중 누구도 나에게 내가 기대하고있는 값을 얻을 수 없습니다. 그들은 모두 같은 내 디버그 샘플러에 다시 와서 ..

myNewDate = 잘못된 날짜

DT1 = 잘못된 날짜

vars.put("myendDate", vars.get("endDate")); 
var dt = new Date('myendDate'); 
vars.put("dt1", dt.toUTCString()); 

var myDate = new Date('${endDate}'); 
vars.put("myNewDate", myDate.toUTCString()); 


var myDate = new Date('${endDate}'); 
myDate.toISOString(); 
vars.put("myDate1", myDate); 

언어 문제 Date 객체를 만드는 데있다 나는 자바 스크립트 내 BSF 포스트 프로세서를 생각한다 .

입력 사항을 알려주십시오.

+0

입력 형식을 표시 할 수 있습니까? –

+0

이것은 내 입력입니다. 내 입력 : endDate = 2014-01-31T23 : 59 : 59 – Adi

답변

4

은 lib 폴더를/

를 JMeter를 그리고 그루비 및 컴파일 캐시 키를 다음 코드로 JSR223Sampler를 사용하는 그루비-all.jar을 추가

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

SimpleDateFormat estFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
SimpleDateFormat gmtFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); 
TimeZone gmtTime = TimeZone.getTimeZone("GMT"); 
TimeZone estTime = TimeZone.getTimeZone("EST"); 
estFormat.setTimeZone(estTime); 
gmtFormat.setTimeZone(gmtTime); 
String endDate = vars.get("endDate"); 
Date endDateAsDate= estFormat.parse(endDate); 
vars.put("dt1", gmtFormat.format(endDateAsDate)); 

그런 다음 $를 사용할 수 있습니다 {DT1}

+0

놀라운! 고마워, 내가 원하는대로 작동 해. 귀하의 코드에 작은 오타 .. estFormat.setTimeZone (estTime); gmtFormat.setTimeZone (gmtTime); – Adi

+0

저는 JMeter의 C# .net 이주자입니다. Groovy 라이브러리를 가르쳐 주셔서 고마워요. 이제 자바 스크립트를 다루는 대신 실제 코드를 작성할 수 있습니다! – Adi

+0

jmeter에 오신 것을 환영합니다. :) –

관련 문제