using post processor jmeter
이 튜토리얼에서는 정규 표현식 추출기, BeanShell, JDBC, 경계 추출기 등과 같은 JMeter 포스트 프로세서를 사용하는 방법을 배웁니다.
프로세서는 두 가지 유형이 있습니다. 전 처리기 과 포스트 프로세서 .
프리 프로세서는 샘플러 실행 전에 실행됩니다. 포스트 프로세서는 서버에서 응답 데이터를 실행하고 나중에 사용할 수 있도록 추출 된 특정 값을 저장하는 데 사용됩니다.
포스트 프로세서는 샘플러가 실행 된 후 수행되는 작업입니다. 이를 사용하여 응답에 대한 일부 작업을 수행하거나 응답에서 일부 값을 추출하여 나중에 사용할 수있는 변수에 저장할 수 있습니다.
=> 여기를 클릭하십시오 JMeter에 대한 완전한 무료 교육 (20 개 이상의 동영상)
학습 내용 :
JMeter 포스트 프로세서에 대한 비디오 자습서
정규식 포스트 프로세서는 정규식 문자열을 사용하여 요청 응답에서 일부 값을 가져옵니다. 추출 된 값은 모든 변수에 저장 될 수 있으며 테스트 계획의 추가 요청에서 참조가 될 수 있습니다. 이 프로세서를 추가 할 때 응답 본문, 헤더, URL, 응답 코드 및 기타 제공된 필드에서 값을 추출 할 수 있습니다.
JMeter POST 프로세서
샘플러 요청 실행이 완료되면 포스트 프로세서가 실행됩니다. JMeter에서 사용되는 다양한 포스트 프로세서가 있습니다.
요소 목록에는 다음이 포함됩니다.
- 정규식 추출기
- CSS / JQuery 추출기
- XPath 추출기
- BeanShell 포스트 프로세서
- 결과 상태 작업 처리기
- JSR223 포스트 프로세서
- JDBC 포스트 프로세서
- JSON 경로 포스트 프로세서
- 경계 추출기
- BSF 포스트 프로세서
- 포스트 프로세서 디버그
다음 JMeter 포스트 프로세서를 살펴 보겠습니다.
# 1) 정규 표현식 추출기
정규식 추출기 얻는 데 사용됩니다 정보 ~로부터 서버의 응답 . 그것은 사용합니다 Perl 유형 정규식 정보, 즉 값을 추출하기 위해. 이 프로세서는 각 샘플러 요청이 실행 된 후에 실행됩니다.
작동 원리 :
샘플러 요청 -> 정규식 추출기 적용 -> 정보 / 가치 추출 -> 템플릿 문자열 생성 -> 추출 된 값 / 정보를 특정 변수 명에 저장
- 테스트 계획 만들기
- 스레드 그룹 추가
- 샘플러 'HTTP 요청'추가
- 프로세서“정규식 추출기”추가
적용하다: ' 적용 대상”에는 4 가지 옵션이 있습니다.
- 주요 샘플 및 하위 샘플 : 메인 샘플과 서브 샘플 모두에 적용됩니다.
- 주요 샘플 만 : 메인 샘플에만 적용됩니다.
- 하위 샘플 만 : Sub Sample에만 적용됩니다.
- JMeter 변수 : 추출은 명명 된 변수에만 적용됩니다.
확인할 필드 : 확인할 필드에는 여러 옵션이 있습니다. 모든 필드 이름은 이름에서 알 수 있듯이 자명합니다.
- 몸 응답 본문, 즉 헤더를 제외한 콘텐츠를 나타냅니다.
- 본문 (이스케이프되지 않음) : 모든 HTML 이스케이프 코드가 대체 된 응답의 본문입니다.
- 문서로서의 본문 - 문서 수에서 데이터가 추출됩니다.
생성 된 변수의 이름 추출 된 텍스트가 저장됩니다.
정규식 추출 할 텍스트와 패턴을 일치시킵니다. ’. +?’ 태그에 의해 배치 된 텍스트의 단일 인스턴스를 나타냅니다.
주형: 템플릿은 추출 된 값 일치에 대한 문자열을 생성하는 데 사용됩니다.
$ 1 $는 그룹 1을 나타냅니다.
일치 번호 (무작위의 경우 0) : 변수로 선택할 항목을 가져옵니다.
- 0 표시 무작위 발견 된 결과의 가치.
- N 번째 숫자 나타냅니다 n 번째 숫자 찾은 결과에서.
- 어떤 부정 숫자 – 모든 데이터 해야한다 추출 .
기본값: 참고 값은 경우에 따라 기본값으로 설정됩니다. 정규식이 일치하지 않습니다.
리스너보기 결과 트리를 추가합니다.
# 2) CSS / JQuery 추출기
CSS 선택기 추출기 값 / 정보를 추출하는 데 사용됩니다. HTML 응답 서버의.
작동 원리 :
- 테스트 계획 생성
- 스레드 그룹 추가
- 스레드에 샘플러 'HTTP 요청'을 추가합니다.
- 프로세서 추가“ CSS 선택기 추출기 ”을 입력하고 아래 세부 정보를 제공하세요.
CSS / JQuery 추출기 구현 : 구현을 위해 선택할 수있는 두 가지 옵션이 제공됩니다.
- P는
- Jodd-Lizard
구현이 선택되지 않은 경우 기본적으로 P는 고려.
CSS 선택기 표현식 : 추출을 위해 CSS 로케이터를 사용할 수 있습니다. 사용자가 예약 사이트에서 항공편이 출발 할 도시 목록을 추출해야한다고 가정합니다. 사용자는 예상 결과를 얻기 위해 필드에 CSS 로케이터를 제공 할 수 있습니다.
CSS 선택기 표현식은 서버의 HTML 응답 데이터에서 노드를 선택하는 데 사용됩니다.
결과를 보려면“View Result Tree”리스너를 추가합니다.
# 3) XPath 추출기
XPath 추출기 용도 Xpath 쿼리 언어 가치를 추출하기 위해 XML 또는 X (HTML) 응답.
Xpath 추출기를 사용하는 방법에 대한 예를 들어 보겠습니다.
- 테스트 계획 만들기
- 스레드 그룹 추가
- 스레드 그룹에 HTTP 요청 기본 구성 요소를 추가하고 서버 이름 또는 IP를 제공합니다.
- 두 개의 HTTP 샘플러를 추가하고 그 안에 세부 경로를 제공합니다.
- Xpath 추출기를 추가하고 세부 정보를 다음과 같이 제공하십시오.
- 작성자 이름 : 결과는이 필드에 제공되는 생성 된 변수 이름에 저장됩니다.
- Xpath 쿼리 : XPath 언어로 쿼리합니다.
- Match No (무작위의 경우 0) : 0은 임의의 값을 추출하고 -1은 모든 값을 추출합니다.
- 기본값 : 찾을 수 없음
- 기본값을 찾을 수 없음이 반환됩니다. 일치하는 것이없는 경우.
Tidy 사용 HTML 응답을 XHTML로 변환하려면을 선택해야합니다.
모뎀과 라우터는 어떻게 생겼습니까?
- 디버그 샘플러를 추가합니다. 스크립트를 디버그하는 데 사용되며 추가 된 리스너를 통해 결과를 볼 수 있습니다.
- 결과 트리보기로 리스너를 추가합니다.
# 4) 결과 상태 동작 핸들러
결과 상태 작업 처리기를 사용하면 샘플러에 오류가 발생했을 때 수행 할 작업을 선택할 수 있습니다.
다음 조치를 취할 수 있습니다.
- 계속하다
- 다음 스레드 루프 시작
- 스레드 중지
- 테스트 중지
- 지금 테스트 중지
- 전류 루프 중단
- 현재 루프의 다음 반복으로 이동
예를 들어 보겠습니다. 지금 테스트 중지 옵션이 선택됩니다.
- 테스트 계획 만들기
- 프로세서 추가 -> 결과 상태 작업 처리기 및 선택 지금 테스트 중지 옵션
- 구성 요소 추가 -> HTTP 요청 기본값을 제공하고 서버 이름 또는 IP
- 샘플러 추가 -> 경로 리소스가있는 HTTP 요청 /
- 잘못된 경로로 다른 샘플러 추가
- 홈페이지 경로가있는 다른 샘플러를 추가합니다.
- 리스너 추가 -> 표에서 결과를보고 스크립트를 실행합니다.
Stop test now가 조치로 선택되었으므로 프로세서는 다음 샘플러 실행을 허용하지 않았습니다.
# 5) BeanShell 포스트 프로세서
이 프로세서는 샘플러 이후에 실행됩니다.
각 호출 전에 bsh.Interpreter를 재설정하십시오. 각 샘플러에 대해이 옵션을 선택하면 통역사가 다시 생성됩니다.
매개 변수 : 매개 변수는 Bean 쉘 스크립트에 전달되는 매개 변수입니다.
스크립트 파일 : 스크립트 파일은 Beanshell 스크립트를 실행하기 위해 저장하는 파일입니다.
스크립트: Script는 Beanshell 스크립트입니다.
# 6) JSR223 포스트 프로세서
이 프로세서에서는 샘플러가 실행 된 경우에만 스크립트가 적용됩니다.
동일한 예를 들어 보겠습니다.
- 테스트 계획 만들기
- 스레드 그룹 추가
- 샘플러 추가 -> 스레드에 HTTP 요청을하고 서버 이름 또는 IP를 제공합니다.
- 프로세서 추가 “JSR223 포스트 프로세서” 스레드에. 아래 스크린 샷과 같이 Groovy 언어를 선택하십시오.
아래와 같은 구문을 사용하여 스크립트를 작성하고 로그에서 결과를 관찰합니다.
로그 로 쓸 수있다 변수 또한 아래 화면에 표시됩니다.
새 변수도 추가 할 수 있습니다. 동일한 내용은 아래 스크린 샷을 참조하십시오.
스레드 및 리스너에 View Results Tree로 디버그 샘플러를 추가하고 테스트를 실행합니다.
# 7) JDBC 포스트 프로세서
SQL 쿼리는 샘플러가 실행 된 후에 실행되어 테스트가 완료된 후 되돌려 야하거나 필요하지 않은 변경을 수행합니다.
다음에서 사용할 수 있습니다.
usertesting에서 얼마를 벌 수 있습니까?
- 테스트 계획 만들기
- URL 및 자격 증명의 세부 정보와 함께 JDBC 연결 구성을 추가합니다.
- 변수 이름 및 출력과 같은 입력을 결과 변수 이름으로 제공하는 JDBC 요청을 추가합니다. 쿼리 유형은 아래와 같이 목록에서 선택할 수 있습니다.
- 변수 값을 보려면 디버그 샘플러를 추가하십시오.
- 결과를 보려면 리스너보기 결과 트리를 추가하십시오.
# 8) JSON 경로 포스트 프로세서
이 프로세서 에서 데이터를 가져옵니다. JSON 응답 사용 JSON 경로 구문. 응답이있는 샘플러 아래에 생성됩니다.
- 테스트 계획 만들기
- 테스트 계획에 스레드 그룹을 추가합니다.
- 샘플러 HTTP 요청을 추가합니다.
- 구성 요소를 'HTTP 헤더 관리자'로 추가합니다.
- 프로세서 추가 JSON 경로 프로세서
- JSR223 프로세서를 추가하고 Bean 쉘 언어를 선택하고 스크립트를 제공하십시오.
- '결과 트리보기'리스너를 추가합니다.
- 테스트를 실행하십시오.
생성 된 필드의 이름은 결과가 저장되는 필드입니다. JSON 경로 표현식의 $ .name은 결과에 포함될 모든 이름을 나타냅니다. 0 일치 번호는 임의의 값을 선택하기위한 것입니다. 이 경우 아무것도 반환되지 않으면 표시됩니다 name_not found .
# 9) 경계 추출기
경계 추출기 에서 데이터를 추출합니다. 서버 응답의 경계 샘플러가 실행 된 후. 데이터 / 값이 추출되면 템플릿 문자열을 생성 한 다음 제공된 변수 이름에 결과를 저장해야합니다.
사용하는 방법:
- 테스트 계획 생성
- 테스트 계획에 스레드 추가
- 샘플러 추가 -> 스레드의 HTTP 요청.
- 경계 추출기 프로세서를 추가하고 스크린 샷에 표시된대로 세부 정보를 입력합니다.
생성 된 변수 이름 : 결과는이 필드에 제공되는 생성 된 변수 이름에 저장됩니다.
왼쪽 경계 : 찾을 왼쪽 경계의 값입니다.
오른쪽 경계 : 찾을 오른쪽 경계의 값입니다.
- JSR223 프로세서를 추가하여 결과를 로그에 인쇄하십시오.
# 10) 디버그 포스트 프로세서
이 프로세서는 샘플러를 디버깅해야하는 경우에 사용되며 해당 샘플러에 자식으로 추가됩니다.
포스트 프로세서에 대한 FAQ
Q # 1) JMeter를 단위 테스트에 사용할 수 있습니까?
대답 : 예, 단위 테스트에 사용할 수 있습니다. 웹 서비스, FTP, LDAP, JDBC (Java 데이터베이스 연결) 데이터베이스 연결, TCP 연결을위한 단위 테스트 도구로 사용할 수 있습니다.
Q # 2) JMeter에서 요청 본문을 저장하려면 어떻게해야합니까?
대답 : 요청을 저장하기 위해“View Result Tree”리스너를 사용할 수 있습니다.
추가-> 리스너-> 결과 트리보기-> 구성 버튼-> 저장해야하는 유형 데이터 선택
Q # 3) JMeter 요소의 실행 순서는 무엇입니까?
대답 : 다음은 스레드 그룹에 여러 요소가있을 때 Jmeter 요소의 실행 순서입니다.
- 구성 요소
- 전 처리기 (샘플러에 적용되는 경우에만 해당)
- 타이머 (샘플러에 적용된 경우에만 해당)
- 샘플러
- 포스트 프로세서 (샘플러에 적용되는 경우에만)
- 어설 션 (샘플러에 적용되는 경우에만)
- 청취자
Q # 4) JMeter에서 JSR223은 무엇입니까?
대답 : JSR223은 Java 언어 용 스크립팅 API입니다. JMeter에는 JSR223 Sampler, JSR223 Pre-processor, JSR223 Post processor, JSR223 Listener와 같은 요소가 있습니다. JSR223은 다양한 언어로 작성된 스크립트 실행을 도와줍니다.
Q # 5) JMeter는 API 테스트에 적합합니까?
대답 : API 테스트는 물론 기능, 성능,로드 및 자동화 테스트에 사용할 수있는 오픈 소스 도구입니다.
Q # 6) JMeter에서는 어떤 언어를 사용하나요?
대답 : Groovy 언어는 주로 사용되며 Groovy 스크립팅 언어는 사용하기 쉽고 Java와 통합하여 더 많은 스크립팅 잠재력을 향상시킬 수 있으므로 적합합니다.
결론
포스트 프로세서, 이름에서 알 수 있듯이 실행 샘플러 실행 게시 . 모든 프로세서는 자신의 역할을 수행하고 다양한 응답에서 데이터를 추출합니다. 정규식 추출기 용도 Perl 유형 서버 응답에서 값을 추출하는 정규식, CSS 선택기 추출기 CSS 선택기를 사용하여 데이터를 추출합니다. HTML 응답 .
XPath 추출기 용도 XPath 쿼리 언어 데이터 추출 XML 또는 XHTML 응답 . JSON 추출기 용도 JMESPath 쿼리 언어. 결과 상태 조치 핸들러 샘플러가 실패하면 스레드를 중지하도록 허용하여 결과를 처리합니다. 경계 추출기 서버 응답의 경계에서 값을 추출합니다.
=> 여기를 클릭하십시오 JMeter에 대한 완전한 무료 교육 (20 개 이상의 동영상)