2010-11-24 3 views
2

jmeter를 사용하여 CSV 파일 (CSV 데이터 세트 구성 사용)에서 변수를 전달 받았으며 HTTP 요청에서 하위 문자열을 사용하고 싶습니다.JMeter - 사용자 변수에 하위 문자열 사용

즉 변수 TIME = 23 : 40, 요청 매개 변수는시와 분이므로 적절한 부분을 HTTP 요청에 추출하고 싶습니다.

자바 스크립트를 사용할 수 있으므로 시간이 지나면 ${TIME}.substring(0,2)을 시도했는데 작동하지 않는 것처럼 보였습니다.

어떻게하면됩니까?

답변

19

당신이 할 수있는 자바 스크립트 함수를 인라인 http://jmeter.apache.org/usermanual/functions.html

예를 호출하여 :

${__javaScript('${TIME}'.substring(0\,2))} 

또는

  1. 사용자 정의 변수 샘플
  2. 이 MYTIME라는 변수 (또는 아무것도를 만들 생성 원하는)
  3. 다음에으로 Beanshell 언어와 선택으로 Beanshell 샘플러를 만들 :

    String tempTime = vars.get("myTime"); 
    String newTime = tempTime.substring(0,2);  
    vars.put("newTime", newTime); 
    

사용 ${newTime} 변수를 다른 대답에 따라 편집 요청

에. 쉼표를 인용해야합니다.

+0

좋아요, 감사합니다, 아마이었다 조금 게으르다 - 나는 RTFM을했지만 정말 의미가 무엇인지 이해하지 못했다. 건배 –

+0

@Joe Watkins np, jmeter는 gr8 도구입니다. 제 의견으로는 가난한 문서가 있습니다. – ant

+1

개미, 쉼표 따옴표를 수정하십시오. 내가 당신의 솔루션을 사용했을 때 그것은 나를 오도합니다. 고맙습니다, 가보. 그래서 작동 시키려면 $ {__ javaScript ('$ {TIME}') 부분 문자열 (0 \, 2)} –

4

당신은 자바 스크립트 기능에 쉼표를 탈출해야합니다 :

당신은 JMeter를 플러그인에서 substring 기능을 자바 스크립트 인터프리터 (코뿔소)를 호출하지 않고 그것을 할 수
${__javaScript('${TIME}'.substring(0\,2))} 
+1

아마 c0mrade의 대답에 대한 코멘트가 있어야했습니다. –

+0

나는 받아 들인 대답을 편집했다. 검토를 통과하면 표시됩니다. –

5

:

${__substring(${TIME}, 0, 2)} 
+0

이 답변은 부분 문자열이 사용자 정의 jmeter 함수이지만 js String.substring 주변의 래퍼에 불과하다는 점에서 사실입니다. 문서 도구 : https://jmeter-plugins.org/wiki/Functions/#substringsupfont-color-gray-size-1-ince-0-4-2-font-sup. 비록이 가독성/단순성에 대한 답변을 좋아해. – Renee