data parameterization jmeter using configuration elements
이 튜토리얼에서는 구성 요소를 사용하여 수동 구성 대신 파일에서 데이터를 선택하는 JMeter의 데이터 매개 변수화에 대해 설명합니다. :
Jmeter 구성 요소 샘플러에서 나중에 사용하는 변수입니다. 샘플러의 요청은 구성 요소를 사용하여 추가하거나 수정할 수 있습니다.
JMeter는 웹의 실제 동작을 재현 할 수 있도록 구성 요소를 제공합니다.
=> 여기를 클릭하십시오 JMeter에서 무료 교육 완료 (20 개 이상의 동영상)
학습 내용 :
데이터 매개 변수화에 대한 비디오 자습서
JMeter 구성 요소
다양한 유형의 JMeter 구성 요소가 아래에 나열되어 있습니다.
- CSV 데이터 세트 구성
- FTP 요청 기본값
- DNS 캐시 관리자
- HTTP 인증 관리자
- HTTP 캐시 관리자
- HTTP 쿠키 관리자
- HTTP 요청 기본값
- HTTP 헤더 관리자
- Java 요청 기본값
- JDBC 연결 구성
- 키 저장소 구성
- 로그인 구성 요소
- LDAP 요청 기본값
- LDAP 확장 요청 기본값
- TCP 샘플러 구성
- 사용자 정의 변수
- 랜덤 변수
- 카운터
- 단순 구성 요소
- MongoDB 소스 구성 (지원 중단됨)
- 볼트 연결 구성
일반적으로 사용되는 몇 가지 JMeter 구성 요소를 살펴 보겠습니다.
# 1) CSV 데이터 세트 구성
CSV 파일에서 줄을 읽고 변수로 변환하는 데 사용됩니다. CSV Data Set Config는 테스트중인 시나리오에 따라 많은 양의 데이터를 제공 할 수있는 데이터 소스의 목적을 제공합니다.
사용자가 서로 다른 자격 증명을 사용하여 50 명의 사용자에 대해 웹 응용 프로그램을 테스트하려는 경우 50 개의 스크립트를 만들 필요가 없습니다. 이제해야 할 일은 (사용자 이름, 암호)와 같은 사용자 레코드가있는 파일을 만들고이 파일을 CSV로 업로드하는 것입니다. CSV는 모든 데이터 라인을 변수로 변환합니다.
CSV 파일에서 데이터를 읽고 결과보기 트리에서 인쇄 할 수있는 방법을 이해하기 위해 아래 예를 살펴 보겠습니다.
#1) 테스트 계획 만들기
#두) 사용자 수가 1, 램프 업 기간이 1 초, 루프 수가 5 인 스레드 그룹을 추가합니다.
#삼) 구성 요소를 CSV 데이터 세트 구성으로 추가합니다.
- 아래 데이터로 CSV 파일을 업로드하세요.
- 변수 이름을 쉼표로 구분 된 구분 기호와 함께 사용자 이름 및 암호로 제공하십시오.
- EOF에 도달하면 파일을 다시 읽도록 EOF에서 Recycle을 true로 선택합니다.
# 4) 샘플러 추가 : 샘플러 디버그.
# 5) 리스너 추가 : 결과 트리보기.
# 6) 상단 메뉴에서 시작 버튼을 선택하여 테스트 계획을 실행합니다.
CSV 파일의 변수 값이 인쇄됩니다.
스레드 수를 5 개로 선택하고 CSV 파일에는 3 행까지만 데이터가 있으므로 파일을 다시 읽고 4 개에 대해 1부터 시작하는 값을 인쇄합니다.일샘플러.
다음은 각 필드에 대한 설명입니다.
CSV 데이터 소스 구성
파일 이름 : 읽고 변수로 변환 할 파일의 이름입니다. 파일 업로드를위한 찾아보기 옵션이이 필드에 제공됩니다.
파일 경로를 지정하려면 CSV가 JMETER 디렉토리의 BIN 폴더에 있으면 파일 이름을 직접 입력하고, 그렇지 않으면 시스템의 전체 경로를 지정할 수 있습니다.
파일 인코딩 : 파일을 읽으려면 드롭 다운에서 사용할 인코딩을 선택해야합니다.
파일 인코딩에는 다음과 같은 옵션이 있습니다.
옵션을 선택하지 않으면 플랫폼 기본값이 사용됩니다. 이것은 필수 필드가 아닙니다.
변수 이름 : 여기에 변수 목록이 제공되며 구분 문자로 구분해야합니다. 이 필드에 아무 것도 제공되지 않으면 파일의 첫 번째 줄을 읽고 열 이름으로 간주합니다.
변수 이름으로 첫 번째 줄 사용 : 변수 이름이 비어 있으면 첫 번째 줄에 헤더가 있어야합니다. 변수 이름이 비어 있지 않은 경우 CSV 파일의 첫 번째 줄이 사용됩니다.
구분자 : Delimiter를 사용하여 파일의 데이터를 분리 할 수 있습니다.
인용 된 데이터 허용 : CSV 파일 데이터를 인용해야하는지 여부를 확인합니다. 사용자는 드롭 다운에서 True / False 옵션을 선택할 수 있습니다.
EOF에서 재활용 : 파일이 끝에 도달했을 때 다시 읽어야하는지 여부를 나타냅니다. EOF는 파일의 끝을 나타냅니다. 기본적으로 선택된 값은 True입니다.
EOF에서 스레드를 중지 하시겠습니까? 다시 읽기가 EOF에 도달하면 중지해야하는지 아니면 계속해야하는지 묻습니다. 기본적으로 선택된 값은 false입니다.
공유 모드:
- 모든 스레드 : 파일은 모든 스레드와 공유됩니다.
- 현재 스레드 그룹 : 모든 스레드 그룹에 대해 모든 파일이 열립니다.
- 현재 스레드 : 모든 스레드에 대해 파일이 열립니다.
- 식별 : 공통 ID는 둘 이상의 그룹간에 파일을 공유하는 데 사용됩니다.
# 2) FTP 요청 기본값
JMeter는 FTP 프로토콜도 지원합니다. JMeter에서 FTP, FTPS 및 SFTP를 사용하여 스크립팅을 수행 할 수 있습니다.
FTP 요청 기본값 사용 :
- 테스트 계획을 작성하십시오.
- 스레드 그룹을 추가합니다.
- 구성 요소 'FTP 요청 기본값'을 추가합니다.
- 샘플러 추가 : FTP 요청.
- 리스너 추가 : 테이블에서 결과를 봅니다.
View Results in Table에 표시된 출력 :
아래 세부 정보는 FTP 기본값의 필드에 대해 더 많이 알 수 있도록 도와줍니다.
- 서버 이름 또는 IP : 여기에 FTP 서버 이름 또는 IP를 입력해야합니다. 제공된 세부 정보는 파일이 배치되거나 거기에서 가져올 수있는 서버에 대한 것입니다.
- 포트 번호: 그것은 FTP 서버 . 사용되는 기본 포트 번호는 21입니다.
- 원격 파일 : 파일이 전역 적으로 선언되어야하는 경우 FTP 서버에있는 파일의 유일한 경로가이 필드에 제공되어야합니다. 그렇지 않으면 공백으로 둘 수 있습니다.
- 로컬 파일 : 원격 파일과 동일 –이 필드는 비워 둘 수 있으며 파일을 전역 적으로 선언해야하는 경우 로컬 서버에 대한 경로를 제공해야합니다.
- 로컬 파일 내용 : 서버에 업로드 할 때 사용할 수있는 소스 파일의 내용을 여기에 제공 할 수 있습니다.
- 가져 오기 (RETR) : FTP 서버에서 다운로드 할 파일입니다.
- 넣기 (STOR) : FTP 서버에 파일을 업로드하려면
- 바이너리 모드 사용 : 이 모드는 텍스트 파일의 경우 선택 해제되어야하며 다른 모든 파일의 경우 바이너리 옵션을 선택해야합니다.
- 응답으로 파일 저장 : 이 옵션을 선택하면 출력이 FTP 응답 데이터로 저장됨을 나타냅니다.
#삼) DNS 캐시 관리자
DNS 캐시 관리자는 테스트 계획 또는 스레드 그룹에서 직접 사용할 수 있습니다. .
DNS 캐시 요소 관리자 인스턴스 실패 또는 기타 이유로 인해 서비스가 중단되지 않는 등의 시나리오에 대한 애플리케이션 테스트에 도움이됩니다. JMeter는 기본 캐시를 JVM DNS 캐시로 사용합니다.
JMeter는 요청을 Load Balancer로 전송하여 요청을 여러 애플리케이션에 추가로 나누어 세 개의 애플리케이션이 테스트 중이라고 말합니다. 때때로 요청이 하나의 AUT로만 전달되는 경우가 있으며 그 이유는 JVM 수준의 DNS 캐시로 식별됩니다.
또한 읽기 = >> DNS 캐시를 지우는 방법
DNS 캐시 관리자는 다음과 같은 방법으로이 문제를 해결하는 데 도움이됩니다.
- 테스트 계획에 DNS 캐시 관리자를 추가하고 ' 사용자 지정 DNS 확인자 사용” 호스트 이름 또는 IP 주소를 제공하고 테스트를 실행하십시오. 하나가 아닌 IP 주소를 모두 공격합니다.
- HTTP 요청을 사용하는 동안 항상 Httpclient4 .
- DNS 캐시 관리자는 테스트 계획 또는 스레드 그룹 요소에서 사용해야합니다.
필드 설명 :
- 각 반복마다 캐시 지우기 : 이 옵션을 선택하면 새주기가 시작되면 모든 스레드의 DNS 캐시가 지워집니다.
- 사용자 시스템 DNS 확인자 : 사용자가 시스템 DNS 해석기를 사용하려는 경우.
- 호스트 이름 또는 IP 주소 : 사용할 DNS 서버의 세부 사항입니다.
- 호스트 및 호스트 이름 또는 IP 주소 : 정적 호스트 및 호스트 이름 또는 IP 주소가 매핑됩니다.
# 4) HTTP 인증 관리자
HTTP 인증 관리자 서버 인증을 사용하여 제한된 웹 애플리케이션 페이지에 대한 사용자 로그인을 제공 할 수 있습니다. 사용자가 제한된 페이지에 접속을 시도하면 로그인 대화 상자를 보여줍니다.
임시 가짜 이메일 주소 만들기
각 반복에 대한 명확한 인증 : 이 옵션을 선택하면 이전 스레드 그룹에서 수행 된 인증 여부와 관계없이 각 반복에서 인증이 수행됩니다.
기본 URL : 하나 이상의 HTTP URL과 일치하는 URL입니다.
사용자 이름 : 인증을위한 사용자 이름입니다.
암호 : 위 사용자 이름의 비밀번호입니다.
도메인 : NTLM 용 도메인.
왕국 : NTLM 용 영역.
기구 : 수행 할 인증 메커니즘을 제공해야합니다.
같은 것을 이해하기 위해 예를 들어 보겠습니다.
다음 URL로 사이트에 로그인하십시오. https://httpbin.org/basic-auth/user/passwd . 인증 창이 표시됩니다.
사용자 이름 또는 암호가 올바르지 않거나 구성 요소가 활성화되지 않은 경우 다음을 반환합니다. 응답 코드 -401
그리고 정확한 세부 사항을 확인하고 config 요소가 활성화 된 경우 응답 코드 -200
# 5) HTTP 캐시 관리자
HTTP 캐시 관리자 실행이 진행 중일 때 다운로드 된 모든 정적 파일을 저장하는 데 사용됩니다. '모든 포함 된 리소스 검색'옵션이 선택된 경우에만 그렇게합니다. 그리고 수정이 완료 될 때까지 이미 저장된 항목을 저장하지 않습니다.
각 반복에서 캐시 지우기 :
스레드 그룹 구성을 사용하여 캐시 지우기를 제어합니다.
GET 처리시 cache- Control / Expires 헤더 사용 요청. 이 옵션을 선택하면 현재 시간에 따라 캐시 제어 / 만료가 확인됩니다.
캐시의 최대 요소 수 : 기본적으로 값은 사용자 당 5000입니다. 모든 캐시는 RAM에 저장됩니다. 사용자가 5000보다 큰 값을 입력하면 서버에서 예외가 발생할 수 있습니다. '메모리 부족' 게다가.
cache-control / expire 헤더 옵션을 사용할 때와 사용하지 않을 때 어떻게 작동하는지 살펴 보겠습니다.
이제 세 번째 옵션을 선택하고 테스트 계획을 다시 실행하십시오.
옵션을 선택하면 샘플 시간과 대기 시간이 단축되었습니다.
# 6) HTTP 쿠키 관리자
HTTP 쿠키 관리자 사용자에게 HTTP 요청이 있고 응답에 쿠키가있는 경우 쿠키 관리자가 해당 쿠키를 저장하고 해당 특정 사이트에 대한 향후 참조를 위해 사용하는 기능이 있습니다.
브라우저 Edge, Firefox 및 Chrome을 사용하여 웹 사이트를 탐색한다고 가정 해 보겠습니다. 사용자가 사용자 이름과 비밀번호로 로그인하면 시스템에 쿠키로 저장됩니다. 다음 번에 사용자가 동일한 웹 사이트를 방문 할 때 사용자 이름 및 비밀번호와 같은 세부 정보는 이미 시스템에 쿠키로 저장되어 있으므로 입력 할 필요가 없습니다.
반복 할 때마다 쿠키 지우기 : 각 반복에서, 즉 스레드 루프가 한 번 실행되면 서버 기반 쿠키가 지워집니다.
신입생을위한 C # 인터뷰 질문 및 답변
이해하기 위해 예를 들어 보겠습니다.
- 루프 수 3을 사용하여 테스트 계획에 스레드 그룹 추가
- 스레드 그룹의 구성 요소로 HTTP 쿠키 관리자 추가
- 서버 이름과 경로를 제공하는 HTTP 요청 추가
- 리스너 추가“ 결과 트리보기 ”하고 출력을 관찰합니다.
위의 결과에 따라 첫 번째 반복 요청에는 쿠키가 없지만 다른 모든 요청에는 쿠키 데이터가 있음을 알 수 있습니다.
이제 아래 이미지와 같이 쿠키 관리자 구성 요소에 세부 정보를 추가하고 동일한 결과를 관찰하십시오.
# 7) HTTP 요청 기본값
이 구성을 통해 사용자는 HTTP 요청 컨트롤러에 대한 기본값을 설정할 수 있습니다.
예: 서버 xyz.com에 50 개의 HTTP 요청을 보내는 경우-사용자는 50 개의 HTTP 요청에 대해“서버 이름 = xyz.com”을 50 번 입력해야하지만 HTTP 요청 기본값을 사용하면 50 개의 HTTP를 만들 수 있습니다. 서버 이름 = xyz.com을 한 번 입력하여 요청합니다. 사용자의 시간을 절약합니다.
모든 요청은 제공된 웹 서버로 이동합니다.
HTTP 요청 기본값 요소는 HTTP 요청 요소에서 사용하는 기본값을 가리 킵니다.
HTTP 요청 기본 요소를 사용하는 방법에 대한 예 :
- 테스트 계획 : 더하다 HTTP 요청 기본값 서버 이름을 tribuneindia.com으로 추가하십시오.
- 스레드 그룹 추가
- 경로 만 제공하는 두 개의 HTTP 요청을 추가하십시오.
- 리스너 추가 “결과 트리보기” 스크립트를 실행하십시오. 경로가 제공되지 않은 경우 요청은 HTTP 요청 기본값 구성 요소에 제공된 서버로 이동합니다.
# 8) HTTP 헤더 관리자
HTTP 헤더 관리자 HTTP 요청 헤더를 추가하거나 겹치는 데 도움이됩니다. JMeter는 여러 헤더 관리자를 지원합니다. 샘플러 목록은 헤더 항목으로 구성됩니다. 병합중인 헤더 항목에서 기존 헤더 이름과 일치하는 항목이있는 경우 이전 항목이 새 항목으로 바뀝니다.
Accept-Language, Accept-Encoding, User-Agent, Referrer 사용할 수있는 표준 헤더입니다.
추가 버튼을 선택하여 헤더 이름과 값을 추가 할 수 있습니다.
언어 수락 브라우저에 응답을 다시 보낼 언어 서버를 정의하는 데 사용됩니다.
인코딩 허용 : 수락 코딩은 서버가 응답하는 데 사용해야하는 코딩 방법을 정의합니다. 서버가 승인 된 인코딩으로 응답을 보낼 수없는 경우 서버는 오류 메시지와 상태 코드를 406으로 보냅니다.
accept encoding 필드가 제공되지 않은 경우 서버는 클라이언트가 모든 인코딩 방법을 수락한다고 가정합니다.
사용자 에이전트: 사용자 에이전트는 웹 서버의 브라우저, 버전 및 운영 체제와 같은 특성을 찾을 수 있습니다. 브라우저가 웹 사이트에 연결되면 사용자 에이전트를 동일한 웹 사이트로 보냅니다. User-agent는 HTTP 헤더에 포함됩니다.
HTTP 헤더 관리자에 지원되는 브라우저는 다음과 같습니다.
- IE
- Firefox
- 원정 여행
- 오페라
- 크롬
추천인 : 한 웹 사이트가 다른 웹 사이트를 참조 할 때 주소는 HTTP 리퍼러에서 캡처됩니다.
이 HTTP 헤더 관리자가 어떻게 작동하는지 살펴 보겠습니다.
- 테스트 계획을 만들고 스레드 그룹을 추가합니다.
- 구성 요소 HTTP 헤더 관리자를 추가하고 해당 값과 함께 Accept-Language 및 Accept와 같은 필드를 추가하십시오.
- 서버 이름과 경로가있는 HTTP 요청을 website.com으로 추가하고 로그인합니다.
- 리스너 추가 '결과 트리보기' 스크립트를 실행하고 출력을 관찰하십시오.
이제 다른 HTTP 헤더를 추가하고 Accept-language와 같은 변경을합니다. SP-sp 그리고 동의하기 뿐만 아니라 스크립트를 다시 실행하십시오.
헤더는 최신 헤더 관리자에서만 캡처되지만 이미 존재하는 헤더는 변경되지 않습니다.
# 9) 키 스토어 구성
키 저장소 구성 키 저장소를 구성하는 것입니다.로드 방법과 사용할 키입니다.
누가 서버에 연결하는지 알기 위해 일부 시스템에서는 클라이언트 측 인증서를 구성해야합니다. 이 구성 요소는 동일한 구성에 도움이되지만 KeyStore Config 요소를 추가하기 전에 클라이언트 인증서로 Java 키 저장소를 설정해야합니다.
동일한 작업을 수행하려면 다음 단계를 따라야합니다.
인증서 생성 :
- Java Keytool 유틸리티 사용
- PKI를 통해 : PKI를 통해 수행되는 경우 JKS에서 허용하는 형식으로 변환해야합니다.
시스템에 다음을 추가하십시오. 속성 파일 :
javax.net.ssl.keyStore = path_to_keystore
javax.net.ssl.keyStorePassword = password_of_keystore
예압 : 미리로드 할 키 스토어를 true 또는 false로 선택할 수 있습니다.
인증서 별칭을 보유하는 변수 이름 : 클라이언트 인증서의 인증에 사용할 별칭으로 구성되는 변수 이름입니다.
별칭 시작 인덱스 (0 기반) : KeyStore에서 사용할 첫 번째 키의 인덱스입니다.
별칭 끝 인덱스 (0 기반) : KeyStore에서 사용할 마지막 키의 인덱스입니다.
# 10) LDAP 요청 기본값
LDAP 요청 기본값 LDAP 테스트에 대한 기본값을 추가 할 수 있습니다.
동일한 LDAP 서버에 대한 요청 수를 작성해야하는 경우 사용자가 LDAP 요청에 대해 동일한 세부 사항을 반복해서 입력 할 필요가 없으므로 LDAP 요청 기본 구성 요소를 사용할 수 있습니다.
4 개의 LDAP 요청을 구성 할 수 있습니다.
- 테스트 추가
- 테스트 삭제
- 검색 테스트
- 테스트 수정
이러한 요청은 샘플러에 LDAP 요청을 추가 한 다음 이름을 추가 / 삭제 / 수정 / 검색으로 변경하고 속성을 테스트 추가 / 삭제 / 수정 / 검색 테스트로 각각 선택하여 구성 할 수 있습니다.
# 11) LDAP 확장 요청 기본값
이 구성 요소를 사용하면 확장 된 LDAP 테스트를위한 기본값을 추가 할 수 있습니다.
LDAP 구성 요소에는 아래 정의 된대로 9 개의 테스트 작업이 있습니다.
# 1) 스레드 바인드
스레드 바인드는 LDAP 서버로 세션을 시작하는 데 사용됩니다. 사용자는 세션을 시작하기 위해 사용자 이름과 암호를 제공합니다. 잘못된 암호를 제공하면 익명 세션이 시작되지만 실패합니다.
# 2) 스레드 바인딩 해제
스레드 바인딩 해제 세션을 종료하는 데 사용되는 작업입니다.
# 3) 단일 바인딩 / 바인딩 해제
단일 바인딩 / 바인딩 해제 두 작업의 조합으로 작동합니다. 사용자 이름과 암호의 유효성을 확인하기 위해 세션을 열고 세션을 종료합니다.
# 4) 항목 이름 변경
이름에서 알 수 있듯이 항목의 이름을 바꾸는 데 사용됩니다. LDAP 트리의 다른 위치로 항목을 이동하는데도 사용할 수 있습니다.
# 5) 테스트 추가
LDAP 서버에 개체를 추가하는 데 사용됩니다. 사용중인 LDAP '추가'작업입니다.
# 6) 삭제 테스트
삭제 테스트는 LDAP 트리에서 개체를 삭제하는 데 사용됩니다.
사용되는 작업을 LDAP '삭제'작업이라고합니다.
# 7) 검색 테스트
LDAP '검색' 이 테스트를 위해 작업이 수행됩니다.
객체가 반환되는지 여부에 관계없이 서버가 검색을 수행하는 데 걸리는 최대 시간과 같은 사양을 제공 할 수 있습니다 (기본적으로 false로만 간주 됨). 검색 결과 구문 분석이 참으로 선택되면 검색 결과가 응답 데이터에 추가됩니다.
# 8) 비교 테스트
비교 테스트는 속성을 이미 알려진 값과 비교하는 데 사용됩니다. 일반적으로 그룹에있는 사람의 이름을 확인하는 데 사용됩니다. 즉, 제공된 이름이 이미 해당 그룹에 존재하는지 여부를 비교할 수 있습니다.
LDAP ' 비교 ”작업이 동일하게 사용됩니다.
# 9) 수정 테스트
수정 테스트는 LDAP를 사용하여 값을 추가 / 삭제 / 제거 / 교체하는 데 사용할 수 있습니다. 수정 ”작업.
JMeter 구성 요소에 대한 FAQ
Q # 1) JMeter의 Config 요소는 무엇입니까?
안드로이드 용 5 대 mp3 다운로더
대답 : 서버로 전송되는 요청은 JMeter의 config 요소를 사용하여 수정 또는 구성됩니다.
Q # 2) JMeter의 스레드 속성은 무엇입니까?
대답 : Thread 속성에는 동일한 시나리오를 실행하는 데 사용되는 스레드 수와 구성에서 설정할 수있는 반복 수가 포함됩니다.
Q # 3) 시뮬레이션 할 사용자 수에 해당하는 JMeter의 요소는 무엇입니까?
대답 : Thread Group은 시뮬레이션 할 사용자 수에 해당하며, 다수의 스레드를 사용하여 사용자가 성능 및 애플리케이션과의 상호 작용을 확인하도록 시뮬레이션하도록 구성 할 수 있습니다.
결론
JMeter 구성 요소를 통해 사용자는 JMeter의 값과 관련된 모든 변수에 액세스 할 수 있습니다. 샘플러에서 생성 된 요청의 값을 수정할 수 있습니다.
추가 된 샘플러를 마우스 오른쪽 버튼으로 클릭 한 다음 목록에서 구성 요소를 선택하여 구성 요소를 추가 할 수 있습니다. 그것들은 그것이 놓인 곳, 즉 나뭇 가지 내부에서만 접근 할 수 있습니다.
이 문서에서 설명하는 JMeter에는 여러 구성 요소가 있으며 사용자의 요구 사항에 따라 사용할 수 있습니다.
=> 여기를 클릭하십시오 JMeter에서 무료 교육 완료 (20 개 이상의 동영상)