2017-02-22 1 views
0

테스트 계획에 2 개의 Jmeter 스레드 그룹이 있습니다.컨트롤러에서 다른 스레드 그룹 변수를 호출하는 jmeter

Threadgroup 1 
    Java sampler 1 
     - produce some messages 
    Constant timer delay with 1000ms. 

Threadgroup 2 
    Java sampler 2 
     - Message will have 2 variables like "${var1} is going for walk in ${var2} ground" 
    Constant timer delay with 60000ms. 

각 스레드 그룹에는 30 분 동안 10 개의 스레드가 실행됩니다.

하지만 스레드 그룹 1 스레드는 매초마다 meesage를 생성합니다. Threadgroup2 스레드는 타이머의 지연을 기반으로 매분마다 메시지를 생성합니다.

두 threadgroups 이것은 지금까지 내가이 일을 얻을 수 있어요 parellaly

실행하고 있습니다.

하지만 구현 방법을 잘 모르는 부분이 하나 있습니다. 두 번째 threadgroup2 java sampler의 Var2는 동적으로 생성됩니다. 동일한 thread 번호의이 var2 값을 기반으로 스레드 그룹 1 샘플러를 제어해야합니다.

i.e If thread1 of second threadgroup2 var2 has value "abc", then thread1 in threadgroup2 should not execute. Untill same threadnumber in second threadgroup , changes the value. Only that particular thread number should get controlled. 

Other threads should continue to execute. I tried to place while controller with var2 == "abc" & if controller . But did not see any change. 

어떻게 해결할 수 있습니까? 미리 감사드립니다.

답변

1

나는 가장 빠른 믿고 가장 쉬운 해결책은 그래서 당신은 당신의 조건이 충족 될 때까지, Java sampler 1 실행을 일시 정지 참조 SynchronizationExample.jmx 테스트 계획을 볼 수있을 것이다 기본적으로 FIFO queue입니다 Inter-Thread Communication 플러그인을 사용하는 것입니다.

당신은 2 가지 방법으로 스레드 간 통신 플러그인을 설치 할 수 있습니다

  1. 가 수동으로 JMeter를 설치를 "lib 디렉토리"와 "lib 디렉토리/내선"폴더를 jpgc-fifo 번들을 다운로드하고 아카이브의 컨텐츠를 배치
  2. JMeter Plugins Manager을 사용하여 자동으로 설치하고 "사용 가능한 플러그인"탭에서 Inter-Thread Communication을 찾으십시오. 당신이 다른 플러그인에 대한 알림을 이런 식으로

    JMeter Plugins Manager Inter Thread Communication

를 업데이트
관련 문제