Apache JMeter
Apache JMeter : 테스트 시나리오 레코딩
수색…
소개
테스트 시나리오 기록은 테스트 스크립트를 작성하는 가장 편리한 방법 중 하나입니다. 이는 테스트 기록을 통해 수동으로 테스트 스크립트를 작성하는 대신 실제 사용자 워크 플로를 모방 할 수 있기 때문입니다. 레코딩은 모든 브라우저 요청을 웹 응용 프로그램에 캡처 한 다음 성능 테스트에서 실행할 수있는 jmx 파일을 자동으로 작성합니다. JMeter의 녹음 / 재생 기능 또는 BlazeMeter 및 BadBoy와 같은 타사 도구를 사용하여 테스터는 작업 속도를 3 배 빠르게 할 수 있습니다.
JMeter 템플릿 기능으로 스크립트 기록
버전 2.10에서 JMeter 는 스크립트를 작성할 때 JMeter 템플릿을 저장하는 시간을 절약하는 메커니즘을 도입했습니다. 이러한 템플릿은 새 스크립트의 기본으로 재사용 할 수있는 골격입니다.
JMeter는 이미 상세한 설명과 함께 몇 가지 사용 가능한 템플릿을 보유하고 있으며 직접 추가 할 수도 있습니다. 템플리트는 성능 스크립트를 처음부터 기록하는 데 필요한 모든 구성 및 요소를 갖추고 있습니다.
JMeter 템플릿 기능을 사용하는 방법은 다음과 같습니다.
JMeter 구성
열린 JMeter
스크립트 기록 용 템플릿을 선택하십시오.
파일 -> 템플릿 -> 템플릿 선택 -> 기록 -> 생성 JMeter는 테스트 트리에 관련 요소를 추가합니다.
브라우저 프록시 구성
JMeter Recorder를 사용하려면 브라우저를 구성하여 프록시를 통해 모든 요청을 보내야합니다. 브라우저에 따라 다르며 OS에 따라 다를 수있는 브라우저 구성의 위치 간에는 차이가있을 수 있지만 모든 브라우저가 이러한 요구에 사용될 수 있습니다.
브라우저를 구성하려면 다음을 수행하십시오.
Chrome : 메뉴 버튼 -> 설정 -> 고급 설정 표시 -> 네트워크 -> 프록시 설정 변경
Safari : 환경 설정 -> 고급 -> 프록시 -> 설정 변경 ...
Firefox : 메뉴 버튼 -> 환경 설정 -> 고급 -> 네트워크 -> 연결 -> 설정 ..
예를 들어 localhost 127.0.0.1을 사용할 수 있습니다. 포트를 HTTP (S) Script Recorder의 포트로 변경하십시오.
이 단계를 완료하는 동안 문제가 발생하면 브라우저의 프록시 설정을 관리 할 수있는 제 3 자 플러그인이 없는지 확인하십시오. 예를 들어 Hola VPN처럼 프록시 설정은 브라우저 메뉴에서 사용할 수 없습니다.
- "HTTP (S) Test Script Recorder"페이지의 맨 아래에있는 '시작'버튼을 클릭하고 테스트 할 웹 응용 프로그램 워크 플로우로 이동하십시오. JMeter로 돌아 가면 브라우저에서 캡처 한 모든 요청을 볼 수 있습니다.
JMeter 프록시 레코더로 스크립트 기록
또한 JMeter를 사용하면 작업 공간을 수동으로 구성 할 수 있습니다. 더 복잡하지만 스크립트를 사용자의 필요에 정확하게 맞출 수 있습니다.
브라우저 프록시 구성
- 1 장에서 설명한대로 브라우저를 구성하십시오.
JMeter 구성
"WorkBench"브랜치는 스크립트를 생성하기위한 임시 작업 공간으로 사용될 수 있습니다. 이 섹션에 추가 된 항목은 테스트 계획과 함께 저장되지 않는다는 점에 유의하십시오. 따라서 향후 동일한 레코딩 구성을 다시 사용하려면 복사하여 "테스트 계획"섹션에 붙여 넣어야합니다.
- WorkBench에 "Recording Controller"추가 : "WorkBench"-> "Add"-> "Logic Controller"-> "Recording Controller"를 오른쪽 클릭하십시오.
- "WorkBench"-> "Add"-> "Non-Test Elements"-> "HTTP (S) Test Script Recorder"를 오른쪽 클릭하여 "HTTP (S) Test Script Recorder"
"전역 설정 : 포트"의 "HTTP (S) 테스트 스크립트 레코더"구성 페이지에서 브라우저의 프록시 구성에 지정된 동일한 포트 (예 : 8080)를 넣어야합니다.
특정 리소스로 요청을 제외하려면 '제외 할 URL 패턴'섹션을 사용하십시오. 요청할 콘텐츠 유형 (예 : * .html, * .php 등) 만 포함하거나 요청하지 않으려는 콘텐츠 유형을 제외하려는 경우 유용 할 수 있습니다 (예 : * .jpg, * .png, * .js 등).
우리가 언제 이것을 사용할 것입니까? 예를 들어 타사 응용 프로그램을 호출하는 스크립트를 기록하거나 서버 측 스크립트를 테스트 할 때 테스트가 복잡해지고 대역폭을 소비 할 수 있으므로 자산을 다운로드하지 않을 수도 있고, 특정 경로.
가장 일반적인 제외 패턴은 다음과 같습니다. ". .png ",". .jpg ",". .gif ",". .css ",". .js ". 다른 패턴을 함께 결합 할 수도 있습니다. 이 결합 된 패턴은 중요한 요청에서주의 산만해질 수있는 모든 중복 요청을 제거해야합니다. ". . (bmp | css | js | gif | ico | jpe? g | png | swf | woff) "
- 반면에 전체 브라우저 동작을 모방하고 모든 리소스를로드해야 할 수 있습니다. 이 경우 URL 패턴을 제외 할 필요는 없습니다. 브라우저는 요청 된 페이지에서 모든 임베디드 리소스를 다운로드하고 캐싱 메커니즘을 가지고 있으므로 결과 성능에 영향을 미칠 수 있습니다.
이 경우 스크립트의 모든 임베디드 리소스를 다운로드하는 것이 좋습니다 : "테스트 계획"-> "추가"-> "구성 요소"-> "HTTP 요청 기본값"-> "고급"-> 선택 "모든 임베디드 리소스 검색"확인란.
JMeter가 실제 브라우저처럼 동작하도록하려면 "HTTP 캐시 관리자"를 추가하는 것이 좋습니다. 그러면 성능 테스트에서 브라우저 캐싱 기능을 시뮬레이션 할 수 있습니다. "Test Plan"-> "Add"-> "Config Element"-> "HTTP Cache Manager"를 마우스 오른쪽 버튼으로 클릭하십시오.
이제 "HTTP (S) Test Script Recorder"페이지의 하단에있는 '시작'버튼을 클릭하고 테스트 할 웹 응용 프로그램 워크 플로우로 이동하십시오. JMeter로 돌아 가면 브라우저에서 캡쳐 한 모든 요청을 "레코딩 컨트롤러"아래에 표시해야합니다.
모바일 장치 용 성능 스크립트 기록
JMeter는 모바일 성능 테스트를 기록하는 데에도 사용할 수 있습니다. 모바일 스크립트 기록은 웹 응용 프로그램 스크립트 기록과 매우 유사합니다.
JMeter 구성
- 1 장에서 지정한대로 "JMeter 템플릿"을 구성하십시오.
휴대 전화 구성
지정된 포트에서 시작된 JMeter "HTTP (S) Test Script Recording"요소를 포함하여 JMeter 구성이 준비되면 JMeter 프록시를 통해 테스트중인 웹 응용 프로그램에 요청을 보내도록 휴대폰을 구성 할 수 있습니다.
- IOS :
설정 -> Wi-Fi
연결된 네트워크를 클릭하십시오.
"HTTP PROXY"구성 섹션으로 이동하십시오.
"수동"탭을 클릭하십시오.
"서버"에서 실행중인 JMeter 응용 프로그램의 IP 설정
"포트"아래의 "HTTP (S) 테스트 스크립트 기록"에 지정된 포트를 설정하십시오.
기계적 인조 인간:
설정 -> Wi-Fi
연결된 네트워크를 길게 클릭하고 '네트워크 수정'옵션을 클릭하십시오.
'고급 옵션'체크 박스를 클릭하십시오.
"프록시"옵션을 "수동"으로 설정하십시오.
"프록시 호스트 이름"을 컴퓨터의 IP 주소로 설정하고 "포트"아래의 "HTTP (S) 테스트 스크립트 기록"구성에 지정된 "프록시 포트"
'저장'을 클릭하십시오.
- 이제 모바일 장치에서 응용 프로그램을 실행할 수 있습니다. 요청은 JMeter에 기록됩니다.
HTTPS 트래픽 기록
웹 응용 프로그램에서 SSL 암호화를 사용하는 경우 HTTP 대신 HTTPS 트래픽을 캡처해야합니다. JMeter로 HTTPS 트래픽을 기록하려면 SSL 인증서를 구성해야합니다.
SSL 프록시 구성
- HTTP 프록시가 구성된 것과 동일한 방식으로 SSL 프록시가 구성되었는지 확인하십시오.
JMeter 구성
예제 "JMeter 템플릿 기능으로 스크립트 기록"에서 설명한 "JMeter 기록 템플릿"기능을 사용하여 스크립트 기록을 시작하십시오.
웹 응용 프로그램을 연 후에 보안되지 않은 연결과 관련된 메시지가 표시됩니다. 계속 진행하려면 JMeter 더미 인증서를 수락하면됩니다.
- '고급'을 클릭하십시오.
- '예외 추가 ...'를 클릭하십시오.
- '이 예외를 영구 저장하십시오'를 선택 취소하십시오.
- '보안 예외 확인'을 클릭하십시오.
- "이 사이트는 유효하고 검증 된 신분증을 제공합니다. 예외를 추가 할 필요가 없습니다. "라는 경고 메시지가 표시되면 쿠키, 캐시, 오프라인 웹 사이트 데이터를 비롯하여 응용 프로그램의 브라우저 기록을 지워야합니다. 그런 다음 동일한 단계를 다시 수행하십시오.
이 방법은 JMeter를 실행하는 데 사용되는 호스트에만 JMeter 인증서를 설치해야하기 때문에 모바일 스크립트 기록에도 사용할 수 있습니다.
BlazeMeter 크롬 익스텐션을 이용한 스크립트 레코딩
지금까지 테스트 시나리오를 기록하는 기본적인 방법에 대해 살펴 보았습니다. 그러나 성능 스크립트를 무료로 기록하는 가장 빠르고 쉬운 방법 중 하나는 BlazeMeter Recorder Chrome 확장 프로그램을 사용하는 것 입니다. 이 녹음은 JMeter 또는 BlazeMeter에서 실행할 수 있습니다.
확장 기능이 유용한 이유는 프록시를 구성 할 필요없이 브라우저에서 성능 스크립트를 기록 할 수 있기 때문입니다.
새 실적 스크립트를 작성하려면 다음을 수행하십시오.
- Chrome에서 레코더 열기
- 상단 입력란에 테스트 이름을 입력하십시오.
- 기록 버튼을 클릭하여 원을 그리며 녹음을 시작하고 녹음하려는 웹 작업을 수행하십시오. 모든 요청이 캡처됩니다. Blazemeter Chrome Extension은 HTTPS 트래픽 기록도 지원합니다.
- 녹음이 끝나면 정사각형 모양의 정지 버튼을 클릭하십시오. 레코딩을 일시 중지 한 다음 다시 시작하거나 .jmx 또는 JSON 형식 또는 클라우드에서 편집 할 수도 있습니다.
- 레코딩 내보내기 - JMeter에서 테스트를 실행하려면 .jmx 버튼을 클릭하여 .jmx 형식으로 내 보냅니다. BlazeMeter에서 테스트를 실행하려면 '재생'을 클릭하십시오.
BadBoy로 스크립트 녹음
또 다른 유용한 타사 녹음 도구는 BadBoy입니다. 그러나 Windows OS에서만 작동합니다.
새 실적 스크립트를 작성하려면 다음을 수행하십시오.
빨간색 원 모양의 녹음 단추를 누르고 캡처하려는 작업을 수행하십시오.
스크립트를 JMeter로 내보내기 - 파일 -> JMeter로 내보내기
성능 스크립트 레코더를 사용하면 일상적인 작업을 피하고 최상의 테스트 스크립트를 얻을 수있는 좋은 방법입니다. 기록한 후에는 테스트 할 가상 사용자 수와 추가 테스트 구성 수로 구성하여 테스트를 실행하고 결과를 분석하여 오류 및 병목 현상을 식별하고 시스템 상태를 나타내는 경향을 특성화하십시오.