2014-11-24 1 views
1

내 JMeter를 계획하여 JMeter는 : 루프 안에 루프 동안 사용하는 방법을

-- Loop controller (set to 3) 
    -- while controller(set to "${Dataitems}" != "<EOF>") 
    -- using CSV for reading the data items 
    -- HTTP requests 

이제 문제는 while 루프를 완료 한 후, 스레드가 중지지고된다는 점이다. CSV config "Stop thread on EOF"= true로 설정하면 스레드가 중지됩니다. 하지만 내 요구 사항은 내 CSV를 통해 iterating 후, 나는 모든 사건이 3 번 CSV에서 제공하는 모든 데이터 항목에 대해 실행되므로 내 사건 3에서 제공하는 변수를 기반으로 실행됩니다 바깥 쪽 루프로 전달할 컨트롤을 원한다.

내가

  1. 은 = $ {VAR1} 여기서 VAR1, 다음 intinte 시간에 대한 시작 실행 lopp는
  2. 거짓 "EOF에 스레드를 정지"= "EOF에 스레드를 정지"를 설정하려고 달성하기 위해 테스트 계획에서 선언되었지만 여전히 루프가 무한 시간에 실행 중임

while 루프에서 외부 루프로 제어를 핸드 오버하는 방법에 대한 통찰력을 제공 할 수 있습니까?

귀하의 도움에 감사드립니다.

답변

1

아시다시피 컨트롤러는 상태가 실패 할 때까지 계속 실행됩니다.

귀하의 경우에는 아래 조건을 설정하여 CSV 파일 값을 다시 입력해야합니다.

'Recycle on EOF?' to TRUE 

그래서 컨트롤러는 사용자가 요구하는 조건을 충족 할 수 없으므로 절대로 종료하지 않습니다.

귀하의 요구 사항을 충족시킬 수있는 유일한 방법은 2 개의 루프 컨트롤러를 사용하는 것입니다.

은 (외부) 루프 컨트롤러는이 같은 출력을 얻을

(내부) 루프 컨트롤러 (CSV의 행 no로 설정)

(당신이 말한대로 3으로 설정). 내 CSV 파일에는 값 A, B, C가있는 3 개의 행이 있습니다. 이들은 외부 루프 컨트롤러에 의해 3 번 호출됩니다. 당신이 하드 코드 루프 컨트롤러의 수를 원하지 않는 경우

enter image description here

은으로 Beanshell를 사용하여 행의 어떤을 찾아 변수에 값을 설정 & 변수를 사용하지 않습니다.