how use preprocessors jmeter
이 튜토리얼에서는 JMeter PreProcessor를 사용하는 방법과 SampleTimeOut, UserParameter, HTMLLinkParser 등과 같은 PreProcessor의 작동 방식을 배웁니다.
PreProcessor는 항상 샘플러 요청 전에 작업을 실행합니다.
다음은 JMeter에서 사용되는 전 처리기 목록입니다.
- 사용자 매개 변수
- 샘플 시간 초과
- JSR223 전 처리기
- JDBC 전 처리기
- 빈 쉘 전 처리기
- HTML 링크 파서
- HTML URL 재 작성 수정 자
- RegEx 사용자 매개 변수
=> 여기를 클릭하십시오 JMeter에 대한 완전한 무료 교육 (20 개 이상의 동영상)
학습 내용 :
JMeter 전 처리기 비디오 자습서
전처리 기는 실제 샘플러가 JMeter에서 실행되기 전에 수행되는 작업입니다. 변수 값 저장, 시간 초과 정의 등과 같은 것일 수 있습니다. 전처리 기는 스레드 그룹 수준 또는 샘플러 수준에서 추가 될 수 있습니다.
SampleTimeOut PreProcessor는 요청에 대한 샘플 시간 초과를 정의 할 수 있습니다. 정의 된 것보다 많은 시간이 걸리는 샘플은 실패합니다. UserParameter PreProcessor는 특정 사용자에 대한 변수 값을 정의하는 데 사용됩니다.
예 , 특정 사용자에 대한 변수 값을 정의 할 수 있으며 샘플러가 실행될 때이 전처리기에 지정된 값이 선택됩니다.
HTMLLinkParser는 이전 요청의 응답에서 모든 링크를 구문 분석 한 다음 페이지의 모든 링크를 무작위로 히트 할 수 있습니다. 경로에 '. *'를 지정할 수 있으며 페이지에있는 임의의 링크를 선택하고 특정 프로토콜에서 사용 된 것과 동일한 프로토콜을 사용하여 연결합니다.
일반적으로 사용되는 JMeter 전 처리기
JMeter의 몇 가지 전처리기를 살펴 보겠습니다.
# 1) JSR223 전 처리기
JSR223 전처리 기는 샘플러 요청 전에 수행하고 JSR223 스크립트를 사용하여 작업을 실행합니다. 사용할 수있는 언어는 JAVA, Groovy, BeanShell, JEXL 등입니다.
이 전처리기를 추가하려면 아래 단계를 따르십시오.
- 테스트 계획에 스레드 그룹을 추가합니다.
- 샘플러 'HTTP 요청'을 추가합니다.
- JSR223 전처리기를 추가합니다.
- 리스너“View Result Tree”를 추가합니다.
예 :
HTTP 요청 샘플러를 수정하기 위해 JavaScript를 사용하여 다음 스크립트를 작성할 수 있습니다.
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
.bin 파일이란?
스크립트 사용에 사용할 수있는 JSR223 변수는 다음과 같습니다.
- 로그: 이 변수는 로그 파일에 쓰는 데 사용할 수 있습니다.
- 매개 변수 : 매개 변수를 문자열로.
- 상표: 문자열 레이블입니다.
- 파일 이름: 외부 스크립트가 추가 된 경우 스크립트의 파일 이름
- 누구 : 이것은 변수에 대한 읽기 및 쓰기 액세스를 제공하는 JMeter 변수입니다.
- 샘플러 : 현재 샘플러에 대한 액세스가 제공됩니다.
- 인수 : 매개 변수로서의 string 형 배열
- 소품: JMeter 속성
- ctx : 컨텍스트에 대한 액세스를 제공하는 JMeter 컨텍스트입니다.
- 밖: 메시지를 인쇄하려면 (system.out)
# 2) JDBC 전 처리기
이 프로세서는 샘플러가 실행되기 전에 SQL 쿼리를 실행하는 데 사용할 수 있습니다.
전처리기를 추가하려면 아래 단계를 따르십시오.
- 테스트 계획에 스레드 그룹을 추가하십시오.
- 샘플러 'HTTP 요청'을 추가합니다.
- HTTP 헤더 관리자를 추가하십시오.
- 스레드 그룹에 JDBC 전처리기를 추가하십시오.
- 리스너를 '결과 트리보기'로 추가합니다.
예:
사용자가 사용자의 사용자 이름과 비밀번호를 검색하려는 경우 :
- 테스트 계획에 스레드 그룹을 추가합니다.
- 샘플러 'HTTP 요청'추가 (필요한 데이터 사용자 이름 및 비밀번호에 대한 세부 정보도 샘플러의 본문 부분에 제공 할 수 있지만 이러한 세부 정보를 업데이트하려면 스크립트에서 다음과 같이 업데이트해야하므로 목적에 부합하지 않습니다.) 잘)
- 구성 요소 'HTTP 헤더 관리자'를 추가하고 이름 및 값에 대한 세부 정보를 제공합니다.
- JDBC 전처리기를 추가합니다.
쿼리 유형 드롭 다운에서 다음과 같이 선택할 수 있습니다. Select 문 그리고 Query 상자에서 동일한 추출을 위해 Query를 지정할 수 있습니다.
추출 할 변수는 쉼표로 구분하여 제공 할 수 있습니다.
- 리스너 '결과 트리보기'를 추가하고 테스트 계획을 실행하여 결과를 봅니다.
JDBC 전 처리기 필드 있음 쿼리 유형 요구 사항에 따라 선택할 수 있습니다.
사용자가 원하는 경우 최신 정보 세부 사항, 업데이트 진술 사용되어야합니다. 마찬가지로 필요에 따라 다른 쿼리 유형을 선택할 수 있습니다.
준비된 Select 문의 예 :
사용자가 환자의 이름을 참조하는 기록에서 환자의 약속 ID를 취소해야하는 경우 사용자는 JDBC 연결을 구성한 다음 쿼리 유형을 다음과 같이 선택하는 JDBC 전처리기를 추가해야합니다. 준비된 Select 문. 테스트 계획을 실행하십시오. 추가 된 리스너가 결과를 볼 수 있습니다.
# 3) HTML 링크 파서
이 프로세서는 HTML 응답을 구문 분석하고 모든 링크와 양식을 추출하는 데 사용됩니다.
안드로이드 용 최고의 스파이 폰 앱
아래 단계에 따라 전처리기를 추가하십시오.
- 테스트 계획에 스레드 그룹을 추가합니다.
- 샘플러 'HTTP 요청'추가
- 간단한 컨트롤러를 추가합니다.
- 다른 샘플러 'HTTP 요청'을 추가합니다.
- HTML 링크 파서 전처리기를 추가합니다.
- “View Results Tree”리스너를 추가합니다.
예:
내부 페이지를 크롤링하는 방법을 보려면 다음 단계를 수행 할 수 있습니다.
- 스레드 그룹에서 샘플러 'HTTP 요청'을 추가하고 서버 이름 또는 IP를 제공합니다. 샘플러 이름을 HTTP Request_Main으로 바꿉니다.
- 테스트 계획에 Simple Controller를 추가합니다.
- 하나 이상의 샘플러 'HTTP 요청'을 추가하고 서버 이름 또는 IP를 제공하고 /도 제공하십시오. * 발견 된 모든 링크를 크롤링 할 수 있도록 경로에 있습니다. 샘플러 이름을 HTTP Request_Internal로 변경합니다.
- 출력을 보려면 전 처리기“HMTL Link Parser”와 리스너를“View Result Tree”로 추가합니다.
위의 단계를 따르면 첫 번째 샘플러의 출력은 요청 필드의 웹 사이트 이름이되고 두 번째 샘플러의 경우 출력은 제공된 웹 사이트에서 크롤링 된 내부 페이지가됩니다. 아래 스크린 샷을 참조하십시오.
# 4) HTTP URL 재 작성 수정 자
세션 정보 URL을 관리하기 위해 재 작성 기법이 사용됩니다. 어떤 시스템에서든 쿠키가 비활성화되어 있어도 여전히 작동 할 가능성이 있다는 장점이 있습니다.
전처리기를 추가하려면 아래 단계를 따르십시오.
- 테스트 계획에 스레드 그룹을 추가합니다.
- 테스트 계획에 HTTP 요청을 추가하십시오.
- 테스트 계획에 전 처리기 'HTTP URL 재 작성 수정 자'를 추가합니다.
- 하나 이상의 샘플러 'HTTP 요청'을 스레드에 추가합니다.
이 전처리기를 다음과 같이 사용할 수 있습니다.
이 전처리 기는 스레드 수준과 특정 샘플러에도 적용 할 수 있습니다. 스레드 수준에서 적용되면 스레드에있는 모든 요청에 대한 인수를 추가합니다.
세션 인수 이름 :이 필드에 세션 ID 매개 변수 이름을 지정해야합니다. 응답에서 매개 변수 이름을 찾을 수 있습니다. 이 매개 변수는 페이지에서 검색되며 발견되는 위치마다 지정된 값이 사용됩니다.
경로 확장 : 애플리케이션이 세미콜론을 추가하여 URL을 다시 작성하고 세션 ID도 포함하는 경우이 옵션을 선택해야합니다.
경로 확장에 같음을 사용하지 마십시오. 응용 프로그램이 URL없이 URL을 다시 작성하는 경우 '=' 매개 변수 이름과 값 사이에 부호가 있으면이 옵션을 선택해야합니다.
경로 확장에 물음표를 사용하지 마십시오. – 응용 프로그램이 쿼리 문자열이 경로 확장에서 닫히거나 끝나는 것을 중지해야하는 경우 옵션을 선택해야합니다.
캐시 세션 ID : 나중에 사용하기 위해 세션 ID가 필요한 경우이 옵션을 선택해야합니다.
URL 인코딩 : 인코딩 된 URL이 필요한 경우이 옵션을 선택해야합니다.
# 5) RegEx 사용자 매개 변수
이 전처리기를 사용하면 정규식 추출기를 사용하여 HTTP 요청에서 HTTP 매개 변수의 동적 값을 검색 할 수 있습니다. 테스트 계획에서 독립 스레드로 설정됩니다.
전처리기를 추가하려면 아래 단계를 따르십시오.
- 테스트 계획에 스레드 그룹을 추가하십시오.
- 서버 이름 또는 IP를 사용하여 스레드 그룹에 HTTP 요청을 추가합니다.
- 값을 추출하려면 포스트 프로세서“정규식 추출기”를 추가하십시오.
- 스레드 그룹에 다른 HTTP 요청을 추가하고 서버 이름 또는 IP를 제공하십시오.
- 두 번째 HTTP 요청에 'Regex User Parameter'전처리기를 추가합니다.
이 전처리 기는 다음과 같이 사용할 수 있습니다.
정규식 참조 이름 : 지정된 참조 이름에는 첫 번째 HTTP 요청에서 구문 분석되어야하는 변수가 있습니다.
매개 변수 이름 regexp 그룹 번호 : 1은 regexp의 그룹 1을 나타냅니다. 그것은 반환 할 것입니다 변수 이름 .
매개 변수 값 정규식 그룹 번호 : 2는 정규 표현식의 그룹 2를 나타냅니다. 그것은 반환 할 것입니다 변수의 값 .
# 6) BeanShell 전 처리기
이 전처리 기는 특정 목록에서 임의의 값을 가져옵니다. 변수에 값을 할당하기 위해 임의의 문자열을 생성 할 수 있습니다.
BeanShell 전처리 기가 샘플러 아래에 추가됩니다.
전처리기를 추가하려면 아래 단계를 따르십시오.
- 테스트 계획에 스레드 그룹을 추가합니다.
- 스레드 그룹에 샘플러를 추가합니다.
- 추가 된 샘플러에 'BeanShell 전 처리기'를 추가합니다.
예:
사용자 정의 변수를 값으로 'true'로 설정하고이 값을 'false'로 변경해야하는 경우 아래 제공된 명령을 사용하여 동일하게 수행 할 수 있습니다. (삭제는 사용자 정의 변수이며 값을 변경해야합니다))
웹 서비스 테스트 인터뷰 질문 및 답변
vars.put(“delete”,”false”);
외부 스크립트를 사용할 경우 파일 이름 필드에서 스크립트에 대한 파일을 업로드 할 수 있습니다. 외부 파일을 업로드 할 수있는 찾아보기 옵션이 제공됩니다.
JMeter 전처리기에 대한 FAQ
Q # 1) JMeter의 전처리 기는 무엇입니까?
대답 : 전처리 기는 샘플러 요청이 실행되기 전에 작업을 실행하는 데 사용되는 요소입니다. 변수의 값 유지, 데이터베이스에서 데이터 가져 오기 등과 같은 다양한 목적을 달성하는 데 사용할 수있는 여러 전처리 기가 있습니다. 전처리 기는 샘플러 수준이나 스레드 수준에서 추가 할 수 있습니다.
Q # 2) JMeter의 Beanshell 전처리 기는 무엇입니까?
대답 : BeanShell은 스크립트 기반이며 JMeter의 내장 구성 요소입니다. 이 전처리 기는 샘플러가 실행되기 전에 스크립트를 실행하는 데 사용됩니다.
결론
JMeter 전 처리기 – 우리가 논의했듯이 샘플러가 실행되기 직전에 실행됩니다. JSR223 및 Beanshell 스크립팅 기반 전처리 기인 반면 JDBC 데이터 가져 오기 또는 검색이 필요하므로 데이터베이스 활동에 사용됩니다.
HTML 링크 구문 분석기 및 RegEx 사용자 매개 변수 다른 전 처리기만큼 널리 사용되지는 않지만 필요에 따라 목적을 수행하고 고유 한 장점이 있습니다.