본문 바로가기

테스트툴/JMeter

JMeter Logic Controller

특정한 작업을 반복하거나 분기 역할을 하기 위해서는 Logic Controller를 사용하면 됩니다

JMeter에는 If, Loop, Random, Random Order, Interleave Controller를 가장 많이 사용합니다


If Controller

If Controller는 조건에 따라 로직을 분기하는 역할을 합니다

이번 실습은 앞 게시물의 실습을 활용하여 했습니다

정규표현을 통해 URL을 수집하는데,

If Controller를 활용하여 정규표현에 부합하지 않는 문자열을 찾으면

더이상 URL을 가져오지 못하도록 하여 오류가 발생하지 않도록 수정합니다

우선,

/jmeter/search/search와 next - ${next_url} Sampler를 선택합니다

Insert Parent 메뉴를 이용해서 If Controller를 추가합니다

조건을 위해서 기존의 Regular Expression Extractor에서 Default Value를 아래와 같이 설정해줍니다

이제 If Controller에서 Condition을 "${next_url}" != "default_value" 로 설정합니다

JMeter에서는 A라는 변수가 존재할 때 그 값에 접근하기 위해 ${A} 같은 방식을 사용합니다

변수 A가 없을 경우, ${A}는 단순 문자열로 처리합니다

디폴트 값은 매칭되는 문자열이 없을 때 Reference Name에 설정되는 값입니다

그러므로 매칭되는 문자열이 없으면 Loop를 멈춥니다

결과는

위와 같은 결과를 얻을 수 있습니다


Loop Controller

Thread Group의 Loop Count 값을 이용하여 반복하는 대신

Loop Controller를 이용하여 반복을 할 수 있도록 구현할 수 있습니다

Loop Controller도 마찬가지로 Insert Parent 메뉴를 이용하여 추가합니다

Thead Group의 Loop Count는 1로 변경합니다

Loop Controller의 Loop Count를 10으로 설정합니다

 

결과는

위와 같은 결과를 얻을 수 있습니다

'테스트툴 > JMeter' 카테고리의 다른 글

JMeter Timer  (0) 2021.04.27
JMeter Random, Random Order, Interleave Controller  (0) 2021.04.26
JMeter Regular Expression 설정 레퍼런스  (0) 2021.04.09
JMeter Regular Expression Extractor  (0) 2021.03.18
JMeter HTTP Cookie Manager  (0) 2021.03.18