2016-12-27 1 views
0

테스트가 시작될 때 한 번만 int 변수를 속성 (전역)으로 초기화 할 수있는 방법을 찾을 수 없습니다. 내 테스트 계획은 여러 스레드, 여러 루프 반복이 있고 내 beanshell 스크립트 내에서 변수를 사용하고 싶지만 무엇보다 먼저 특정 값을 갖기를 원하고 루프와 스레드가 필요에 따라이를 정의하도록합니다. UDV 구성을 시도했지만 운이 없었습니다. 또한, 전역 (속성, 여러 스레드 그룹에 대한) 있지만 그것을위한 방법을 찾을 수 없습니다 싶습니다.JMeter 전역 변수 초기화 중 하나만

답변

1

속성을 사용하지 않는 이유는 무엇입니까? 예를 들어 당신은 user.properties 파일

foo=100 

에 다음 줄을 추가하거나 같은 -J 명령 줄 인수를 통해 JMeter를에 전달 : 일단 당신이 값을 사용할 수 있습니다 수행

jmeter -Jfoo=100 -n -t yourscript.jmx 

3 가지 방법 :

:

  1. 이 필요 __P() 기능을 사용하여

    ${__P(foo,)} 
    
  2. 것은으로 Beanshell에 관해서 User Defined Variables 구성 요소

    User Defined Variables - property to variable

  3. 를 사용하여 전역 변수로 변환 - 대신 vars

    int foo = Integer.parseInt(props.get("foo")); 
    

JMeter를 속성의 props 속기를 사용 전체 J에 대한 글로벌 VM은 여러 스레드 그룹에서 액세스 할 수 있습니다. JMeter Properties와 그 설정 및 재정의 방법에 대한 자세한 내용은 Apache JMeter Properties Customization Guide을 참조하십시오.

+0

속성 파일에 추가한다고 가정하면 테스트를 통해 값을 변경할 수 있습니다 (속성 초기화 후)? – Testerone

+0

물론 Beanshell 또는 [__setProperty()] (https://www.blazemeter.com/blog/knit-one-pearl-two-how-use-variables-different-thread-groups) 함수를 통해이 작업을 수행 할 수 있습니다. . –