이전 변경 내역
현재 변경 사항은 변경 사항에 자세히 설명되어 있습니다 .
변경 섹션은 상단(가장 최근)에서 하단(가장 최근)으로 시간순으로 정렬됩니다.
버전 5.4.2
요약
이 버전은 취약점 CVE-2021-44228에 대한 수정 릴리스입니다. Apache Log4j2 JNDI 기능은 공격자가 제어하는 LDAP 및 기타 JNDI 관련 엔드포인트로부터 보호하지 않습니다.
새롭고 주목할만한
UX 개선
호환되지 않는 변경 사항
개량
HTTP 샘플러 및 테스트 스크립트 레코더
기타 샘플러
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
일반적인
비기능적 변경
- Apache log4j2를 2.16.0으로 업데이트했습니다(2.13.3에서).
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
기타 샘플러
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
선적 서류 비치
일반적인
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
-
Java 11 이후로 JavaScript 구현 Nashorn은 더 이상 사용되지 않습니다 . Nashorn 기반 JavaScript를 사용하는 경우 Java는 다음과 같은 사용 중단 경고를 표시합니다.
경고: Nashorn 엔진은 향후 JDK 릴리스에서 제거될 예정입니다.
이러한 경고를 무시하려면 Java 인수 에 -Dnashorn.args=--no-deprecation-warning 을 추가하십시오. 이는 환경 변수 JVM_ARGS 를 설정하여 달성할 수 있습니다.내보내기 JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
-
Java 15에서는 JavaScript 구현 Nashorn이 제거되었습니다 . JSR-223 호환 JavaScript 엔진을 다시 추가하려면 두 가지 옵션이 있습니다.
- Mozilla Rhino 사용
- rhino-engine-1.7.13.jar 를 $JMETER_HOME/lib/ext 에 복사 합니다.
- OpenJDK Nashorn 사용
-
OpenJDK Nashorn 구현은 모듈로 제공됩니다. 그것을 사용하려면 다운로드하여 모듈 경로에 추가해야 합니다. 버전 15.0 및 해당 종속성을 다운로드하고 모듈 경로를 설정하는 해킹 방법은 다음과 같습니다.
mkdir 라이브러리/모듈 pushd 라이브러리/모듈 wget https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/15.0/nashorn-core-15.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar 팝 내보내기 JVM_ARGS="--modulepath $PWD/lib/modules" ./bin/jmeter
버전 5.4.1
요약
새롭고 주목할만한
UX 개선
호환되지 않는 변경 사항
- LAF 변경 사항이 복원된 후 다시 시작합니다. JMeter 5.3에서 제거되었습니다.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
기타 샘플러
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
일반적인
비기능적 변경
- SaxonHE를 9.9.1-8로 업데이트했습니다(9.9.1-7에서).
- asm을 9.0으로 업데이트(7.3.1에서)
- bouncycastle을 1.67로 업데이트했습니다(1.66에서).
- 카페인을 2.8.8로 업데이트했습니다(2.8.0에서).
- commons-codec을 1.15로 업데이트했습니다(1.14에서).
- commons-io를 2.8.0으로 업데이트했습니다(2.7에서).
- commons-net을 3.7.2로 업데이트(3.7에서)
- 잭슨을 2.10.5로 업데이트(2.10.3에서)
- junit을 4.13.1로 업데이트했습니다(4.13에서).
- ph-commons를 9.5.1로 업데이트했습니다(9.4.1에서).
- ph-css를 6.2.3으로 업데이트(6.2.1에서)
- groovy를 3.0.7로 업데이트했습니다(3.0.5에서).
- xstream을 1.4.15로 업데이트(1.4.14에서)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 64955 - 다시 로드할 때 키 저장소 암호가 재설정되지 않음
- 버그 65002 - HTTP(S) 테스트 스크립트 레코더가 잘못된 기본 인증 URL을 생성합니다. Ubik Load Pack 제공(https://ubikloadpack.com)
- 버그 65004 - HTTP(S) 테스트 스크립트 레코더가 응용 프로그램을 중단시키는 잘못된 HTTP 요청을 계산합니다. Ubik Load Pack 제공(https://ubikloadpack.com)
- 버그 64543 - MacOSX에서 Darklaf- IntelliJ 테마가 javax.swing.ToolTipManager.initiateToolTip에서 NPE를 발생시킵니다.
- 버그 65024 - 매개변수가 있는 MIME 유형을 전송하면 IllegalArgumentException이 발생합니다.
- 버그 65029 - 포함된 URL 다운로드가 활성화된 경우 애플릿의 URL을 정확하게 추측하기 위해 더 열심히 노력하십시오.
기타 샘플러
- 버그 65034 - EOM 바이트가 설정되지 않은 경우 BinaryTCPClientImpl 에서 SocketTimeoutException 을 무시합니다. 버그 52104 를 수정한 커밋 c190641e4f0474a34a366a72364b0a8dd25bfc81에 의해 회귀가 도입되었습니다 . 그 버그는 EOM을 기다리는 경우를 처리하는 것이었습니다.
컨트롤러
청취자
- 버그 64821 - XML 형식의 jtl 파일을 가져올 때 하위 샘플러의 이름이 바뀝니다.
- 버그 65052 - XPath2 테스터 및 JSON JMESPath 테스터가 view.results.tree.renderers_order 속성 에 없습니다.
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
선적 서류 비치
- 버그 64960 - 스레드 그룹 문서에서 스케줄러 참조를 변경합니다. 제공: Ori Marko
- 버그 65006 - 완료된 HTTP 요청 기본값 요소의 그림(그림 4.4)에 잘못된 정보가 포함되어 있습니다.
일반적인
- 버그 64957 - 예제 테스트 계획을 가져올 때 JMeter가 NullPointerException을 표시합니다.
- 버그 64961 - Darklaf: Windows 7에서 Darklaf Intellij가 있는 BasicEditorPaneUI.cleanDisplayProperties의 NPE
- 버그 64963 - 빈 주석 툴팁이 표시됨
- 버그 64969 - RemoteJMeterEngineImpl#rexit는 종료 시 RemoteJMeterEngineImpl의 내보내기를 취소하지 않습니다. qq.com의 luo_isaiah 제공
- 버그 64984 - Darklaf LAF: Windows의 특정 화면 해상도에서 테스트 요소 선택이 작동하지 않습니다. Jannis Weis의 도움으로
- 버그 65008 - PostProcessor에서 호출된 SampleResult.setIgnore()가 고려되지 않음
- 버그 64993 - Daklaf LAF: 메뉴 탐색이 키보드 단축키로 작동하지 않습니다. Jannis Weis의 도움으로
- 버그 65013 - 인용된 인수가 있는 POST multipart/form-data cURL 코드를 올바르게 가져오지 않습니다.
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
-
Java 11 이후로 JavaScript 구현 Nashorn은 더 이상 사용되지 않습니다 . Nashorn 기반 JavaScript를 사용하는 경우 Java는 다음과 같은 사용 중단 경고를 표시합니다.
경고: Nashorn 엔진은 향후 JDK 릴리스에서 제거될 예정입니다.
이러한 경고를 무시하려면 Java 인수 에 -Dnashorn.args=--no-deprecation-warning 을 추가하십시오. 이는 환경 변수 JVM_ARGS 를 설정하여 달성할 수 있습니다.내보내기 JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
-
Java 15에서는 JavaScript 구현 Nashorn이 제거되었습니다 . JSR-223 호환 JavaScript 엔진을 다시 추가하려면 두 가지 옵션이 있습니다.
- Mozilla Rhino 사용
- rhino-engine-1.7.13.jar 를 $JMETER_HOME/lib/ext 에 복사 합니다.
- OpenJDK Nashorn 사용
-
OpenJDK Nashorn 구현은 모듈로 제공됩니다. 그것을 사용하려면 다운로드하여 모듈 경로에 추가해야 합니다. 버전 15.0 및 해당 종속성을 다운로드하고 모듈 경로를 설정하는 해킹 방법은 다음과 같습니다.
mkdir 라이브러리/모듈 pushd 라이브러리/모듈 wget https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/15.0/nashorn-core-15.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar 팝 내보내기 JVM_ARGS="--modulepath $PWD/lib/modules" ./bin/jmeter
버전 5.4
요약
새롭고 주목할만한
UX 개선
버그 62179 - 버그 64658 - 시작 화면은 이제 시스템 모달이 아닌 애플리케이션 모달이므로 JMeter가 시작될 때 다른 애플리케이션을 차단하지 않습니다.
호환되지 않는 변경 사항
- 일부 클래스에서 LogKit 로거 기능을 제거합니다. 이것은 LoggingManager 클래스(JMeter 3.2부터 더 이상 사용되지 않음)를 완전히 제거하기 위한 것이지만 jmeter-plugins가 이에 의존하기 때문에 LoggingManager 및 LogKit -adapter는 이 버전에서 유지됩니다(그러나 여전히 사용되지 않음).
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 53848 - 버그 63527 - 포함된 URL 제외를 허용하는 새 설정 구현
- 버그 64696 - 풀 요청 #571 , 풀 요청 #595 - (기본값)SamplerCreater의 이름에 대한 자유 형식 형식입니다. Vincent Daburon의 패치 기반(gmail.com의 vdaburon)
- 버그 64752 - GraphQL/HTTP 요청 샘플러를 추가합니다. 운산 제공.
기타 샘플러
- 버그 64555 - JMSProperties를 통해 JMSType 헤더 필드를 설정합니다. 제공: Daniel van den Ouden
컨트롤러
청취자
- Pull request #544 - "원시" 결과를 InfluxDB로 보내는 BackendListener를 추가합니다. 제공: Graham Russell(ham1.co.uk의 graham)
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
- 버그 64824 - 대시보드/HTML 보고서: KO 를 FAIL 로 이름 바꾸기
- 버그 64936 - 대규모 성능 테스트를 처리하기 위해 generate_report_ui.generation_timeout을 5분으로 늘 립니다.
일반적인
- 버그 64446 - 줄 끝에서 백슬래시가 있는 컬 명령을 더 잘 구문 분석 하고 데이터 인수가 있는 PUT 메서드를 지원합니다.
- 풀 리퀘스트 #599 - 툴바에 추가된 모든 버튼이 일관되게 작동하는지 확인하세요. 제공: Jannis Weis
- 버그 64581 - SampleResult#setIgnore 가 샘플러 오류의 동작에 영향을 미치도록 허용
- 버그 64680 - 시작 시 JMETER_HOME 으로 폴백하여 JMeter의 설치 디렉토리 감지
- 버그 64787 - 풀 리퀘스트 #630 - 한국어 번역 추가. 고운산 제공(apache.org의 woonsan)
- 버그 64776 - SecurityProvider를 추가로 설치하는 기능을 추가합니다. Timo 제공(Leefers.eu의 ASF.Software.Timo)
비기능적 변경
- Gradle에서 6.7로 업그레이드된 빌드 시스템(6.6에서)
- 끌어오기 요청 #594 - neo4j-java-driver를 4.2.0으로 업데이트했습니다(1.7.5에서).
- 버그 64454 - JDBC 샘플러에서 데이터 소스 값을 찾을 수 없는 경우 더 정확한 오류 메시지
- 버그 64440 - GUI 모드에 있는 경우에도 JMeterUtils#reportToUser 를 통해 보고된 예외 로그
- pull request #591 - travis 파일에서 더 이상 사용되지 않는 sudo 플래그를 제거합니다. Deng Liming(gmail.com의 liming.d.pro)
- Darklaf를 2.4.10으로 업데이트했습니다(2.1.1에서).
- Groovy를 3.0.5로 업데이트했습니다(3.0.3에서).
- 풀 리퀘스트 #596 - 문서에 중립적인 단어 사용
- 버그 63809 - 풀 요청 #557 - 호환성을 위해 이전 commons-collections 3.x의 jar를 유지하면서 commons-collections를 4.4(3.2.2에서)로 업데이트했습니다.
- Pull request #598 - 빌드 페이지에 diff를 생성하는 또 다른 옵션을 추가합니다. jmetertea 제공(github.com/jmetertea)
- pull request #609 - darklaf 설치를 위해 최신 API를 사용하십시오. 재니스 와이스
- 풀 리퀘스트 #612 - README.md 의 오타 수정 . Pooja Chandak(gmail.com의 poojachandak002) 패치 기반
- 끌어오기 요청 #613 - Darklaf 속성에 대한 문서를 추가합니다. 재니스 와이스
- SpotBugs를 4.1.2로 업데이트(4.1.1에서), spotbugs-gradle-plugin을 4.5.0으로(2.0.0에서) 업그레이드
- org.sonarqube Gradle 플러그인을 3.0으로 업데이트(2.7.1에서)
- Apache ActiveMQ를 5.16.0으로 업데이트(5.15.11에서)
- Bouncycastle을 1.66으로 업데이트(1.64에서)
- Apache commons-io를 2.7(2.6에서)로 업데이트
- Apache commons-lang3을 3.11로 업데이트(3.10에서)
- Apache commons-net을 3.7(3.6에서)로 업데이트
- Apache commons-pool2를 2.9.0으로 업데이트(2.8.0에서)
- Apache commons-text를 1.9로 업데이트(1.8에서)
- equalsverifier를 3.4.2로 업데이트(3.1.13에서)
- junit5를 5.6.2로 업데이트(5.6.0에서)
- Apache log4j2를 2.13.3으로 업데이트(2.13.1에서)
- rsyntaxtextarea를 3.1.1로 업데이트(3.1.0에서)
- JUnit5를 5.7.0으로 업데이트(5.6.2에서)
- Rhino를 1.7.13으로 업데이트(1.7.12에서)
- XStream을 1.4.14로 업데이트(1.4.14.1에서)
- Apache commons-dbcp2를 2.8.0으로 업데이트(2.7.0에서)
- pull request #635 - 문서에서 일부 이미지 비율을 수정합니다. Vincent Daburon이 제공한 패치(gmail.com의 vdaburon)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 64479 - 회귀: HTTP(s) 스크립트 레코더가 비 GUI 모드에서 적절한 종료를 방지합니다.
- 버그 64653 - 프록시에 의한 양식의 문자 집합 구문 분석에서 Javascript 및 JSON 제외
기타 샘플러
컨트롤러
- 버그 64795 - 요약 보고서 생성이 구성된 간격( summariser.interval )에서 요약 라인을 출력하지 않을 수 있음: 문서를 명확히 함
청취자
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 64638 - JSON JMESPath 어설션/JSON 어설션: GUI를 열면 계속 슬라이딩되는 가로 스크롤 막대가 표시됩니다.
- 버그 64915 - "Cache-Control/Expires 헤더 사용"이 선택되어 있을 때 JMeter 캐시 관리자가 오작동 함
기능
I18N
보고서/대시보드
- 버그 64547 - 보고서/대시보드: 그래프의 초당 응답 코드가 SampleResult의 빈 응답 코드로 인해 깨지지 않도록 합니다. Ubik Load Pack 제공(https://ubikloadpack.com)
- 버그 64617 - HTML 보고서: 시간 경과에 따른 응답 시간 백분위수 그래프에서 90,95,99번째 백분위수는 실제로 0.90, 0.95 및 0.99백분위수에 해당합니다.
- 버그 64553 - 트랜잭션 컨트롤러를 사용할 때 전송 바이트 및 수신 바이트가 influxdb(BackendListener)에서 0으로 표시됩니다.
- 버그 64624 - 보고서 오류 메시지에서 JSON 문자열에 대해 덜 공격적인 이스케이프 사용
선적 서류 비치
- pull request #571 - 프록시 스크립트 레코더를 사용할 때 생성된 CA의 문서 이름을 수정합니다. 더 큰 PR의 일부입니다. Vincent Daburon(gmail.com의 vdaburon)
- 구현을 반영하도록 미러 서버의 특수 헤더 기능에 대한 설명서를 변경합니다.
일반적인
- 버그 64448 - 오른쪽 클릭 컨텍스트 메뉴에서 사용자 정의 변수 복제
- 버그 64499 - 스레드가 중지되지 않은 경우 jmeterengine.stopfail.system.exit=true 일 때 JMeter를 종료 하는 데 너무 많은 시간이 걸립니다 .
- 버그 64510 - Darklaf- IntelliJ 테마가 MacOS의 DarkTreeUI에서 NPE를 발생시킵니다.
- 버그 64594 - PowerTableModel을 사용하여 구성 요소에 숫자 값 대신 변수 값을 입력할 수 없음(처리량 형성 타이머와 같은 타사 플러그인에 영향을 미침)
- 버그 64475 - 메뉴 HTML 보고서 생성: 시간 초과로 인해 보고서 생성이 실패하면 오류 메시지가 명시적이지 않습니다. Ubik Load Pack 제공(https://ubikloadpack.com)
- 버그 64627 - JMeterContext의 API 메서드를 통한 제어 흐름의 프로그래밍 방식 조작이 5.0 이전과 같이 작동하지 않습니다. 제공: Till Neunast
- 버그 64647 - 배포판에서 groovy-dateutil이 누락되었습니다.
- 버그 64640 - Darklaf: com.github.weisj.darklaf.ui.DarkPopupFactory.getPopupType(DarkPopupFactory.java:96)의 NPE
- 버그 64641 - Darklaf: com.github.weisj.darklaf.ui.tree.DarkTreeUI.isChildOfSelectionPath(DarkTreeUI.java:603) ~[darklaf-core-2.4.2-SNAPSHOT.jar:2.4.2-SNAPSHOT]의 NPE
- 버그 64453 - Darklaf: 테스트 계획을 새 폴더로 저장 실패
- 버그 64625 - Darklaf: 찾아보기에서 폴더를 선택하려고 하면 오류 팝업 및 스택 추적이 발생합니다.
- 버그 64711 - 텍스트 영역 색상이 어두운 모드에서 좋지 않습니다. 제공: Jannis Weis
- 버그 64935 - 깨진 플러그인 클래스로 인해 JMeter가 시작되지 않아야 합니다.
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 마이클 와이드만 (https://github.com/michaelweidmann)
- Deng Liming(gmail.com의 liming.d.pro)
- jmetertea (https://github.com/jmetertea)
- 유빅 로드팩
- 재니스 와이스
- 다니엘 반 덴 오덴
- Neunast까지 (https://github.com/tilln)
- Pooja Chandak(gmail.com의 poojachandak002)
- Vincent Daburon(gmail.com의 vdaburon)
- 고운산(apache.org의 운산)
- 티모(Leefers.eu의 ASF.Software.Timo)
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
- Mitsumori 히로요시(mitsumori at mis.dev)
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
-
Java 11 이후로 JavaScript 구현 Nashorn은 더 이상 사용되지 않습니다 . Nashorn 기반 JavaScript를 사용하는 경우 Java는 다음과 같은 사용 중단 경고를 표시합니다.
경고: Nashorn 엔진은 향후 JDK 릴리스에서 제거될 예정입니다.
이러한 경고를 무시하려면 Java 인수 에 -Dnashorn.args=--no-deprecation-warning 을 추가하십시오. 이는 환경 변수 JVM_ARGS 를 설정하여 달성할 수 있습니다.내보내기 JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
-
Java 15에서는 JavaScript 구현 Nashorn이 제거되었습니다 . JSR-223 호환 JavaScript 엔진을 다시 추가하려면 두 가지 옵션이 있습니다.
- Mozilla Rhino 사용
- rhino-engine-1.7.13.jar 를 $JMETER_HOME/lib/ext 에 복사 합니다.
- OpenJDK Nashorn 사용
-
OpenJDK Nashorn 구현은 모듈로 제공됩니다. 그것을 사용하려면 다운로드하여 모듈 경로에 추가해야 합니다. 버전 15.0 및 해당 종속성을 다운로드하고 모듈 경로를 설정하는 해킹 방법은 다음과 같습니다.
mkdir 라이브러리/모듈 pushd 라이브러리/모듈 wget https://repo1.maven.org/maven2/org/openjdk/nashorn/nashorn-core/15.0/nashorn-core-15.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm/9.0/asm-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-commons/9.0/asm-commons-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-util/9.0/asm-util-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-tree/9.0/asm-tree-9.0.jar wget https://repo1.maven.org/maven2/org/ow2/asm/asm-analysis/9.0/asm-analysis-9.0.jar 팝 내보내기 JVM_ARGS="--modulepath $PWD/lib/modules" ./bin/jmeter
버전 5.3
요약
새롭고 주목할만한
UX 개선
여러 구성 요소를 개선하는 Darklaf 모양과 느낌을 추가 했습니다.트리 들여쓰기 수준은 더 쉽게 따라할 수 있습니다.
새로운 모양과 느낌 테마. 조명: IntellJ, Solarized 조명, 고대비 조명. 다크: OneDark, Solarized Dark, 고대비 다크.
트리의 요소가 비활성화되면 모든 하위 항목이 회색으로 표시됩니다. 예를 들어, While Contoller 는 다음 트리에서 비활성화되어 있으므로 자식이 회색입니다. 이는 순전히 UI 변경이며 동작은 변경되지 않습니다.
노드 선택이 변경된 경우에도 트리 컨텍스트 메뉴가 표시됩니다. 이전에는 팝업이 사라지고 먼저 노드를 선택한 다음 팝업을 실행해야 했습니다.
이제 다시 시작하지 않고도 모양과 느낌을 업데이트할 수 있습니다.
글꼴을 확대 하려면 CTRL + ALT + 휠 을 사용하십시오. 이전 단축키는 CTRL + SHIFT + wheel 이었지만 수평 스크롤과 충돌했습니다.
인앱 확대/축소가 더 일관적입니다(예: 때로는 모든 레이블 또는 패널의 크기가 조정되지 않은 경우도 있음). 예: 로그 뷰어, JSR223 코드 편집기는 이전에 확대/축소 기능으로 확장되지 않았습니다.
트리 컨텍스트 메뉴는 레이블만이 아니라 전체 행에 대해 표시됩니다.
편집 가능한 필드에 대한 실행 취소 및 다시 실행 지원. 키 입력은 운영 체제에 따라 CTRL + Z / CTRL + SHIFT + Z 또는 CMD + Z / CMD + SHIFT + Z 입니다. 실행 취소는 필드 수준 기반으로 구현되며(각 필드에는 고유한 기록이 있음) 트리 선택이 변경되면 기록이 무효화됩니다.
옵션 메뉴에서 현재 선택한 언어를 표시합니다.
옵션 메뉴에서 현재 선택된 로그 레벨을 표시하십시오.
많은 테스트 요소 UI 재작업(JUnit 요청, ForEach 컨트롤러, If 컨트롤러, 처리량 컨트롤러, WhileController, 카운터 구성, XPath2 추출기, 함수 도우미 대화 상자, 검색 팝업, JMS 요소)
호환되지 않는 변경 사항
- httpclient4.time_to_live 의 기본값 이 2000 에서 60000 으로 수정되었습니다 . 이는 HTTP 연결이 이전보다 더 오래 지속됨을 의미합니다. 이는 연결 생성 및 SSL 핸드셰이크에 영향을 미칩니다. 버그 64289 를 참조하십시오.
- Groovy 3 업데이트( Pull request #590 - )는 테스트의 일부 오래된 Groovy 코드를 손상시킬 수 있습니다. Groovy 3의 업데이트 노트를 살펴보세요.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 64160 - 테스트 HTTP/S 테스트 스크립트 레코더: " -XXXX " 접미사 없이 접두사를 사용하여 트랜잭션 컨트롤러/단순 컨트롤러 이름 지정
- 버그 64289 - 일반적인 브라우저 동작에 더 가깝게 httpclient4.time_to_live 를 60000 으로 만듭니다.
기타 샘플러
- 버그 64288 - JUnit 요청: UX 개선
- 버그 64407 - JMS 게시자 UX를 개선합니다. Ubik Load Pack 제공(https://ubikloadpack.com)
- 버그 64408 - JMS 가입자 UX를 개선합니다. Ubik Load Pack 제공(https://ubikloadpack.com)
컨트롤러
- 버그 64277 - ForEach 컨트롤러: UX 개선
- 버그 64280 - 컨트롤러인 경우: UX 개선
- 버그 64282 - 처리량 컨트롤러: UX 개선
- 버그 64287 - WhileController: UX 개선
청취자
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 64091 - 정확한 처리량 타이머 일정 생성이 크게 향상되었습니다(예: 10M 샘플의 경우 2초).
- 버그 64281 - 카운터 구성: UX 개선
- 버그 64283 - XPath2 추출기: UX 개선
기능
I18N
- 버그 64102 - 도구 메뉴에 중국어 번역을 추가합니다. 제공: Liu XP(sina.com의 liu_xp2003)
보고서/대시보드
- 버그 64380 - 대시보드에 ' 중앙값 ' 필드를 추가하고 응답 시간 백분위수 필드가 부동 소수점 숫자를 지원하도록 합니다. 제공: Keith Mo(https://github.com/keithmork)
- 버그 64378 - 플러그인이 그래프를 등록했고 클래스 경로에 더 이상 존재하지 않는 경우 HTML 보고서 생성이 실패하지 않아야 합니다. 대신 경고를 발행하십시오.
일반적인
- 버그 63458 - 요청 #551 - 새 템플릿 "Functional Testing Test Plan [01]"을 추가합니다. Sebastian Boga 제공(endava.com의 sebastian.boga)
- 버그 64119 - 보기 결과 트리에서 기본적으로 view.results.tree.renderers_order 속성의 첫 번째 렌더러를 사용합니다.
- 버그 64148 - 트리에서 비활성화된 요소에 회색 아이콘을 사용하고 하위 트리를 회색으로 표시합니다.
- 버그 64198 - 함수 주위의 ${...} 표현식 에서 공백을 허용합니다 .
- 버그 64276 - 검색 팝업: UX 개선
- pull request #573 - 시작 시간 개선: 테스트 계획 UI 초기화 건너뛰기
- 끌어오기 요청 #585 - JSyntaxTextArea에 대한 구문 별칭으로 JEXL3을 추가했습니다. 제공: drivera-armedia (https://github.com/drivera-armedia)
- pull request #590 - Groovy를 3.0.3으로 업데이트합니다.
비기능적 변경
- Gradle에서 6.3(6.1에서)으로 업그레이드된 빌드 시스템, 이제 빌드에 Java 14를 사용할 수 있습니다.
- 버그 63963 - pull 요청 #546 - jackson을 2.10.3으로 업데이트했습니다(2.9.10에서).
- 버그 64120 - jsoup을 1.13.1로 업데이트(1.12.1에서)
- 버그 63809 - commons-dbcp2를 2.7.0으로 업데이트(2.5.0에서)
- Apache ActiveMQ를 5.15.11로 업데이트(5.15.8에서)
- bouncycastle을 1.64로 업데이트했습니다(1.60에서).
- asm을 7.3.1로 업데이트했습니다(7.1에서).
- Apache commons-codec을 1.14로 업데이트했습니다(1.13에서).
- Apache commons-pool을 2.8.0으로 업데이트했습니다(2.7.0에서).
- equalsverifier를 3.1.9로 업데이트(3.1.12에서)
- Apache Groovy를 2.4.18로 업데이트(2.4.16에서)
- hsqldb를 2.5.0으로 업데이트(2.4.1에서)
- 햄크레스트를 2.2로 업데이트(2.1에서)
- Apache httpclient 및 httpmime을 4.5.12로 업데이트했습니다(4.5.10에서).
- Apache httpcore 및 httpcore-nio를 4.4.13으로 업데이트(4.4.12에서)
- Apache Tika를 1.24.1로 업데이트했습니다(1.22에서).
- jmespath를 0.5.0으로 업데이트(0.3.0에서)
- Apache log4j를 2.13.1로 업데이트했습니다(2.12.1에서).
- junit4를 4.13으로 업데이트(4.12에서)
- junit5를 5.6.0으로 업데이트(5.5.1에서)
- slf4j를 1.7.30으로 업데이트(1.7.28에서)
- ph-commons를 9.4.1로 업데이트(9.3.7에서)
- ph-css를 6.2.2로 업데이트(6.2.0에서)
- rsyntaxtextarea를 3.1.0으로 업데이트했습니다(3.0.4에서).
- Rhino를 1.7.12로 업데이트했습니다(1.7.11에서).
- SaxonHE를 9.9.1-7로 업데이트했습니다(9.9.1-5에서).
- cglib를 3.2.12로 업데이트(3.2.9에서)
- commons-lang3을 3.10으로 업데이트(3.9에서)
- freemarker를 2.3.30으로 업데이트(2.3.29에서)
- hamcrest-date를 2.0.7로 업데이트했습니다(2.0.4에서).
- equalsverifier를 3.1.13으로 업데이트(3.1.12에서)
- xstream을 1.4.11.1로 업데이트(1.4.11에서)
- pull request #559 - TrustAllSSLSocketFactory 소스에 모든 사람을 신뢰하는 것이 안전하지 않다는 메모를 추가합니다. YYTVicky(github의 yytvicky) PR 기반
- Pull request #588 - 실시간 결과를 위해 InfluxDB v2 사용에 대한 문서를 추가하십시오. Jakub Bednář(gmail.com의 jakub.bednar) PR 기반
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 64400 - 기록된 샘플을 트랜잭션 컨트롤러로 정렬하는 것을 더 예측 가능하게 만듭니다.
- 버그 64267 - 선점 인증이 비활성화된 경우 HTTP 샘플러가 기본 인증 질문에 자동으로 응답하지 않음
기타 샘플러
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 64091 - 정확한 처리량 타이머가 낮은 테스트 기간을 사용할 때 더 적은 샘플을 생성할 수 있음
- 버그 64142 - 테스트 계획에 DebugPostProcessor가 있으면 정보 누락으로 인해 보고서에서 시간 경과에 따라 ActiveThread가 중단됨
- 버그 64196 - 어설션을 확인할 때 하위 샘플러로 더 깊이 재귀합니다.
- 버그 64196 - AbstractScopedTestElement#getSampleList 에 대한 sampleResults로의 재귀
- 버그 64381 - PreciseThroughputTimer: 종료 시 로그 메시지에 음수 값이 포함됨
기능
I18N
보고서/대시보드
- 버그 64059 - 시간 경과에 따른 응답 시간 백분위수, 백분위수를 변경할 수 없음
선적 서류 비치
- 풀 리퀘스트 #547 - 올바른 로그 레벨 문서. 제공: jmetertea
- 풀 리퀘스트 #548 - 문서의 오타 수정. 제공: jmetertea
- 버그 64022 - "하위 컨트롤러 블록 무시"에 대한 올바른 중국어 번역. yangxiaofei77 제공(gmail.com의 yangxiaofei77)
- Pull request #552 - client.rmi.localport 포트 할당 설명 수정. ant-93 제공
- Pull request #543 - Append to file 의 기본값과 관련된 __StringToFile 함수의 문서를 명확히 하시겠습니까? 매개변수. 제공: Ori Marko
- 버그 64302 - 인쇄 가능한 문서의 JMeter API 및 BeanShell 모범 사례 및 모든 문서의 JavaFX 구현 웹 사이트에 대한 링크를 수정합니다. 보고자 2477441814(qq.com에서 2477441814)
일반적인
- 버그 63945 - 파일 시스템 변경 후 파일을 열 때 NPE
- 버그 64034 - JAVA_HOME 경로 에 공백이 있으면 셸 스크립트가 실패합니다 . ray7219 제공(hotmail.com의 ray7219)
- 버그 63856 - 트랜잭션 컨트롤러를 사용할 때 상위 샘플에서 connectTime 설정
- 버그 64227 - Windows에서 템플릿을 로드할 때 오류 발생
- TestPlan UI: 사용자가 취소를 클릭하면 클래스 경로에 항목 추가 건너뛰기
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 재니스 와이스
- Stefan Seide(trilobyte-se.de의 스테판)
- jmetertea
- 레이7219
- Sebastian Boga(endava.com의 sebastian.boga)
- Liu XP(sina.com의 liu_xp2003)
- anant-93 (https://github.com/anant-93)
- Ori Marko(gmail.com의 orimarko)
- 키스 모(https://github.com/keithmork)
- 드라이버라 아르미디어 (https://github.com/drivera-armedia)
- 유빅 로드팩
- Jakub Bednář(gmail.com의 jakub.bednar)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
- Michael McDermott(gmail.com의 mcdermott.michaelj)
- yangxiaofei77(gmail.com의 yangxiaofei77)
- Markus Wolf(t-systems.com의 Wolfm)
- Pierre Astruc(evertest.com의 pierre.astruc)
- YYTVicky(github의 yytvicky)
- qq.com에서 2477441814
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
-
Java 11 이후로 JavaScript 구현 Nashorn은 더 이상 사용되지 않습니다 . Nashorn 기반 JavaScript를 사용하는 경우 Java는 다음과 같은 사용 중단 경고를 표시합니다.
경고: Nashorn 엔진은 향후 JDK 릴리스에서 제거될 예정입니다.
이러한 경고를 무시하려면 Java 인수 에 -Dnashorn.args=--no-deprecation-warning 을 추가하십시오. 이는 환경 변수 JVM_ARGS 를 설정하여 달성할 수 있습니다.내보내기 JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
버전 5.2.1
요약
새롭고 주목할만한
이 릴리스는 사소한 bugfix 릴리스입니다. 버전 5.2의 마지막 릴리스 정보를 보려면 변경 내역 페이지 를 참조하십시오 .
호환되지 않는 변경 사항
개량
HTTP 샘플러 및 테스트 스크립트 레코더
기타 샘플러
- 버그 63926 - JDBC 연결 구성: 연결 속성을 설정하는 기능 추가
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
일반적인
비기능적 변경
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
기타 샘플러
컨트롤러
청취자
- 버그 63906 - 장애 조치 테스트 중 InfluxDB 백엔드 수신기용 NPE
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
보고서/대시보드
선적 서류 비치
일반적인
- 버그 63910 - 릴리스된 5.2 버전에서 깨진 메이븐 poms
- 버그 63911 - ApacheJMeter_config.jar 콘텐츠가 변경되었습니다(bin이 실행으로 이동되고 파일이 누락됨).
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
-
Java 11 이후로 JavaScript 구현 Nashorn은 더 이상 사용되지 않습니다 . Nashorn 기반 JavaScript를 사용하는 경우 Java는 다음과 같은 사용 중단 경고를 표시합니다.
경고: Nashorn 엔진은 향후 JDK 릴리스에서 제거될 예정입니다.
이러한 경고를 무시하려면 Java 인수 에 -Dnashorn.args=--no-deprecation-warning 을 추가하십시오. 이는 환경 변수 JVM_ARGS 를 설정하여 달성할 수 있습니다.내보내기 JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
버전 5.2
요약
새롭고 주목할만한
이 릴리스는 주요 릴리스입니다. 버전 5.1.1의 마지막 릴리스 정보를 보려면 변경 내역 페이지 를 참조하십시오 .
호환되지 않는 변경 사항
- HTTP(S) 테스트 스크립트 레코더는 이제 이름 끝에 숫자를 추가하지만 이전에는 처음에 숫자를 추가했습니다. 버그 63450 참조
- 부울을 반환하는 XPath 표현식과 함께 XPath 어설션을 사용할 때 일치하는 항목이 없으면 True가 효과가 없고 항상 true를 반환합니다. 버그 63455 를 참조하세요.
- 이제 XML 구문 분석에서 안전하지 않은 XML을 거부하며, 이는 다음 기능에 영향을 미칩니다.
- XML어설션
- XMLSchemAssertion
- XPath 함수
- XPath 1 & 2 추출기
- XPath 1 및 2 어설션
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 63450 - HTTP(S) 테스트 스크립트 레코더: 시작 대신 끝에 숫자를 입력합니다.
- 버그 63790 - 임베디드 리소스 다운로드: 소스 위치를 제거하여 CSS 구문 분석 최적화
기타 샘플러
- 버그 63406 - JDBC 연결 구성: 연결 풀을 초기화하기 위한 사전 초기화에 대한 새로운 옵션입니다. 제공: Franz Schwab(exasol.com의 franz.schwab)
- 버그 63561 - JDBC 요청: 특정 수의 행만 가져올 수 있습니다. 제공: Franz Schwab(exasol.com의 franz.schwab)
- 버그 63801 - Neo4j 데이터베이스에 대한 Bolt 프로토콜 지원을 추가합니다. GraphAware 제공(www.graphaware.com)
컨트롤러
- 버그 63565 - If Controller: "Interpret Condition as Variable Expression?"과 함께 사용할 때 내구성 실행 중 JMeter에서 GC 문제가 발생합니다. 선택하지 않음 => 문서 개선
청취자
- 버그 63720 - BackendListener: InfluxDBBackendListenerClient InfluxDB 2에 대한 지원 추가. Jakub Bednář 제공(https://github.com/bednar)
- 버그 63770 - 결과 트리 보기: JMESPath 테스터를 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 62863 - KeyStore Manager와 함께 사용하기 위해 PKCS11 키 저장소를 활성화합니다. Clifford Harms(gmail.com의 cliford.harms) 패치를 기반으로 합니다.
- Pull request #457 - ThreadLocalRandom을 사용하여 PoissonRandomTimer의 성능이 약간 향상되었습니다. Xia Li의 패치를 기반으로 합니다.
- 버그 62787 - XPath 어설션 보다 더 나은 성능으로 XPath2를 지원하는 새로운 XPath2 어설 션 . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63643 - FileServer 를 통해 열린 파일에서 BOM을 건너뛰고 명시적으로 제공되지 않은 경우 BOM을 사용하여 문자 인코딩을 감지합니다. Havlicek Honza 보고(gmail.com의 havlicek.honza)
- 버그 63727 - JMESPath 기술 을 사용하여 JSON에서 쉽게 추출할 수 있는 새로운 JMESPath Extractor 요소. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63763 - JMESPath 기술 을 사용하여 JSON에 대한 어설션을 용이하게 하는 새로운 JMESPath 어설션 요소. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63775 - 경계 추출기가 빈 경계를 허용하도록 허용
기능
- 버그 63219 - 문자열을 파일에 저장/추가하는 새로운 함수 __StringToFile . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 자체적으로 동기화하는 대신 __counter 에 AtomicInteger 를 사용 합니다.
I18N
보고서/대시보드
- 버그 63471 - 보고서 생성에 사용되는 StringConverter 는 숫자 주위의 공백을 무시해야 합니다.
일반적인
- 버그 63396 - JSR223 테스트 요소: 매개변수에 대한 설명이 오해의 소지가 있습니다. 스크립트에서도 마찬가지입니다.
- 버그 63480 - XPathAssertion 및 XPathAssertion2: 변수에서 오는 입력에 대한 테스트 적용 범위를 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63452 - 도구/cURL에서 가져오기: JMeter 사용 사례에서 유효한 모든 명령줄 옵션의 전체 적용 범위. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63419 - 도구/cURL에서 가져오기: 파일에서 cURL 명령 세트를 가져오는 기능을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63760 - JOrphanUtils: 임의의 영숫자 암호 생성기 추가
- 버그 63355 - 결과 트리 보기: Java 11 이후로 브라우저 보기 옵션을 사용할 수 없습니다. 사용 가능하게 만드는 방법을 문서화하십시오. 이 항목을 참조하십시오 .
- 버그 62861 - 스레드 그룹: 새 반복이 새 사용자인지 동일한 사용자인지 구성하는 기능을 제공합니다(쿠키 관리자, 캐시 관리자 및 httpclient.reset_state_on_thread_group_iteration에 적용됨). Ubik Load Pack 제공(ubikloadpack.com에서 지원)
-
버그 63616
- Javadoc 수정:
JMeterContext#getThreadNum()
1이 아닌 0에서 시작합니다. 제공: Ori Marko(gmail.com의 orimarko) - httpclient/httpmime 4.5.10으로 업데이트됨(4.5.7에서)
- dnsjava 2.1.9로 업데이트됨(2.1.8에서)
- jsoup 1.12.1로 업데이트됨(1.11.3에서)
- rsyntaxtextarea 3.0.4로 업데이트됨(3.0.2에서)
- 카페인 2.8.0으로 업데이트됨(2.6.2에서)
- commons-codec 1.13으로 업데이트됨(1.11에서)
- commons-lang3 3.9로 업데이트됨(3.8.1에서)
- commons-pool 2.7로 업데이트됨(2.6에서)
- commons-text 1.8로 업데이트됨(1.6에서)
- freemarker 2.3.29로 업데이트됨(2.3.28에서)
- httpcore/httpcore-nio 4.12로 업데이트됨(4.11에서)
- jodd 5.0.13으로 업데이트됨(5.0.6에서)
- log4j 2.12.1로 업데이트됨(2.11.1에서)
- ph-commons 9.3.7로 업데이트됨(9.2.1에서)
- ph-css 6.2.0으로 업데이트됨(6.1.1에서)
- Mozilla Rhino 1.7.11로 업데이트됨(1.7.10에서)
- Saxon-HE 9.9.1-5로 업데이트됨(9.9.1-1에서)
- slf4j 1.7.28로 업데이트됨(1.7.25에서)
- tika-core 및 tika-parser 1.22로 업데이트됨(1.21에서)
- jackson-annotations, jackson-core 및 jackson-databind를 2.9.10으로 업데이트했습니다(2.9.8에서).
비기능적 변경
- Subversion에서 Git 으로 마이그레이션
- 버그 63630 - Apache Ant에서 Gradle로 빌드 전환
- 버그 63529 - org.apache.jorphan.util.JorphanUtils에 대한 단위 테스트를 더 추가합니다. 제공: John Bergqvist(diffblue.com의 John.Bergqvist)
- 최신 체크스타일로 업데이트됨(버전 8.22)
- CompareAssertion 및 기타 위치 의 코드 정리 . Graham Russell의 패치 기반(ham1.co.uk의 graham)
- pull request #491 - Graphite 메트릭 범위를 늘립니다. 제공: Graham Russell(ham1.co.uk의 graham)
- pull request #520 - 익명 클래스를 람다 식으로 교체합니다. Graham Russell(ham1.co.uk의 graham) 제공.
- 끌어오기 요청 #524 - JUnit 4에서 JUnit 5로 마이그레이션. 기고: Graham Russell(ham1.co.uk의 graham).
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 63298 - 인코딩된 URL이 있는 HTTP 요청이 디코딩된 형식으로 전송됩니다.
- 버그 63364 - subresults.disable_renaming=true 를 설정할 때 하위 결과는 부모 SampleLabel을 사용하여 이름이 바뀌지 않아야 하지만 여전히 이름이 바뀝니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63129 - JMeter는 최초 페이지 제출 중에 인코딩을 식별할 수 없습니다. 부분적으로 Naveen Nandwani(india.nec.com의 naveen.nandwani)의 분석 및 PR 기반
- 버그 62672 - 인증과 함께 프록시를 사용할 때 HTTP 요청이 이중 요청을 보냅니다. Artem Fedorov(blazemeter.com의 artem.fedorov)의 패치를 기반으로 하고 BlazeMeter가 기고했습니다.
- 버그 63574 - Cache-Control 헤더가 없는 경우 HTTP 캐시 관리자가 리소스를 캐시하지 않습니다 .
기타 샘플러
- 버그 63442 - AccessLogSamplerBeanInfo에서 LogParser 구현에 대한 검색을 줄입니다.
- 버그 63563 - LdapExtSampler: NamingException과 다른 예외와 함께 샘플러가 실패하면 SampleResult가 생성되지 않습니다.
- 버그 63469 - JMSPublisher: jms.client.ClientPool#clearClient의 경쟁 조건
컨트롤러
청취자
- 버그 63319 - 90% 또는 95% 열을 선택할 때 집계 그래프에서 ArrayIndexOutOfBoundsException 발생
- 버그 63423 - 집계 그래프에서 테이블 행 선택이 너무 자주 손실됨
- 버그 63347 - 결과 트리 보기: 검색 필드가 너무 작아서 Windows 7에서 단일 문자도 표시되지 않습니다.
- 버그 63433 - ListenerNotifier: 파일 이름이 null인 경우 Listener NullPointerException에서 문제가 감지되었습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63674 - DataStripping이 활성화된 경우 계층에서 더 깊은 하위 결과가 있는 스트립 결과
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 63455 - XPath 어설션: XPath 표현식이 부울을 반환하는 경우 일치하는 항목이 없으면 True 입니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
기능
I18N
보고서/대시보드
선적 서류 비치
- 버그 63513 - JDBC 설명서에 MariaDB 예제를 추가합니다. 제공: Ori Marko(gmail.com의 orimarko)
- 버그 63484 - Apache Velocity를 JSR223 스크립트 언어로 사용하기 위한 참고 사항을 추가합니다. Ori Marko(gmail.com의 orimarko) 패치 기반
- 버그 63519 - 풀 요청 #471 - JMeter 튜토리얼에서 올바른 메소드 getLabelResource() 를 사용하십시오. Sun Tao 제공(hotmail.com의 buzzerrookie>)
일반적인
- 버그 63394 - 테스트 실행이 실패하면 JMeter가 0이 아닌 값으로 실패해야 합니다(테스트 계획 누락 또는 기타 이유로 인해). Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63464 - image/svg+xml이 바이너리로 잘못 간주됩니다.
- 버그 63490 - 스케줄러 기간이 끝나면 많은 샘플러가 동시에 실행됩니다.
- 풀 리퀘스트 #480 , 풀 리퀘스트 #482 - 댓글 및 로그 메시지의 몇 가지 오타를 수정합니다. Anass Benomar의 패치 기반(gmail.com의 anassbenomar)
- 버그 63751 - 중국어 번역의 오타를 수정합니다. Jinliang Wang(126.com의 wjl31802)이 보고함
- 버그 63723 - 분산 테스트: 일부 스레드가 여전히 활성 상태이지만 JMeter 컨트롤러 노드가 분산 테스트를 종료합니다.
- 버그 63614 - 분산 테스트: 부하 테스트 종료 시 대시보드 보고서를 생성할 수 없음
- 버그 63862 - 검색 대화 상자/보기 결과 트리에서 검색: 정규식이 선택되고 정규식이 유효하지 않은 경우 포착되지 않은 예외
- 버그 63793 - 안전하지 않은 XML 구문 분석 수정
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- Clifford Harms(gmail.com의 cliford.harms)
- 유빅 로드팩
- 리샤
- Naveen Nandwani(india.nec.com의 naveen.nandwani)
- Artem Fedorov(blazemeter.com의 artem.fedorov)
- Ori Marko(gmail.com의 orimarko)
- Sun Tao(hotmail.com의 버저루키)
- John Bergqvist(diffblue.com의 John.Bergqvist)
- Franz Schwab(exasol.com의 franz.schwab)
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- Anass Benomar(gmail.com의 anassbenomar)
- 야쿱 베드나르
- Pascal Schumacher(apache.org의 pascalschumacher)
- 그래프어웨어
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
- Sergiy Iampol(playtech.com의 sergiy.iampol)
- Brian Tully(acquia.com의 brian.tully)
- Amer Ghazal(gmail.com의 amerghazal)
- Stefan Seide(trilobyte-se.de의 스테판)
- Havlicek Honza(gmail.com의 havlicek.honza)
- Pierre Astruc(evertest.com의 pierre.astruc)
- 왕진량(wjl31802 at 126.com)
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
-
Java 11 이후로 JavaScript 구현 Nashorn은 더 이상 사용되지 않습니다 . Nashorn 기반 JavaScript를 사용하는 경우 Java는 다음과 같은 사용 중단 경고를 표시합니다.
경고: Nashorn 엔진은 향후 JDK 릴리스에서 제거될 예정입니다.
이러한 경고를 무시하려면 Java 인수 에 -Dnashorn.args=--no-deprecation-warning 을 추가하십시오. 이는 환경 변수 JVM_ARGS 를 설정하여 달성할 수 있습니다.내보내기 JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
버전 5.1.1
요약
새롭고 주목할만한
이 릴리스는 주로 bugfix 릴리스입니다. 버전 5.1의 마지막 주요 동작을 보려면 변경 내역 페이지 를 참조하십시오 .
실시간 보고 및 웹 보고서
도구 메뉴 에 새 메뉴 항목이 추가되었습니다 . 이전 CSV/JTL 파일에서 결과 보고서를 생성할 수 있습니다.
호환되지 않는 변경 사항
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 62977 - 기본 User-Agent 헤더 없이 HTTP 요청 전송 허용
기타 샘플러
- 버그 63185 - LDAP 관련 요소: SSL/TLS 연결을 암시적으로 신뢰하는 옵션 추가/호스트 이름 확인 비활성화. Brian Wolfe(gmail.com의 wolfebrian2120)의 기여 기반
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 63178 - CSS 선택기 추출기: JODD(JoddExtractor) 기반 구현의 성능 향상
기능
I18N
보고서/대시보드
- 버그 59896 - 보고서/대시보드: CSV 파일에서 요청 시 보고서를 생성하는 메뉴 항목을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
일반적인
- 끌어오기 요청 #444 - 최신 Spock v1.2(이전 1.0)로 업데이트합니다. 제공: Graham Russell(ham1.co.uk의 graham)
- Pull request #446 - 단위 테스트 가독성과 Spock 사용을 개선합니다. 제공: Graham Russell(ham1.co.uk의 graham)
비기능적 변경
- 버그 63203 - 단위 테스트: 단위 테스트용으로만 공개된 메서드/생성자/클래스에 대해 @Deprecated 를 @VisibleForTesting 으로 대체합니다.
- pull request #449 - ResponseTimePercentilesOverTimeGraphConsumer를 리팩터링하고 테스트합니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 풀 리퀘스트 #450 - 추상 그래프 소비자 개선. 제공: Graham Russell(ham1.co.uk의 graham)
- pull request #451 - 몇 가지 단위 테스트와 클래스를 개선합니다. 제공: Graham Russell(ham1.co.uk의 graham)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
기타 샘플러
- 버그 63202 - JMS 게시자: ObjectMessageRenderer가 초기화되지 않은 보안으로 XStream 인스턴스를 생성합니다.
컨트롤러
청취자
- 버그 63204 - RenderAsJSON#prettyJSON : JSONParser#parse 가 JSONValue를 반환할 수 없습니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 62446 - 필수 필드에서 카운터 문서가 잘못되었습니다. gmail.com의 orimarko 제공
- 버그 62327 - TestPlan: 경로가 수정되고 계획이 저장된 경우 라이브러리 테이블에서 파일 다시 로드 시 수정 사항이 손실됩니다.
기능
- 버그 63241 - 비 테스트 스레드에서 호출된 경우 __threadGroupName 이 NullPointerException을 발생시킵니다.
I18N
보고서/대시보드
- 버그 63198 - 응답 시간 대 요청 및 대기 시간 대 요청 그래프가 처리량과 일치하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
선적 서류 비치
일반적인
- 버그 63201 - SearchTreeDialog가 마스터 JFrame 뒤에서 사라집니다. 제공: Benoit Vatan(gmail.com의 benoit.vatan)
- 버그 63220 - 함수 도우미 대화 상자 , 보고서용 내보내기 트랜잭션 및 cURL에서 가져오기 가 마스터 JFrame에서 사라집니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63207 - java.lang.NullPointerException: 프록시 옵션으로 JMeter 5.1을 실행할 때 null
- 버그 58183 - 스레드가 시작하는 데 시간이 걸리면 스레드가 램프 업 시간 이후에 계속 시작되는 경우 램프업이 존중되지 않을 수 있습니다.
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 유빅 로드팩
- Benoit Vatan(gmail.com의 benoit.vatan)
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- Brian Wolfe(gmail.com의 wolfebrian2120)
- gmail.com의 orimarko
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 5.1
요약
새롭고 주목할만한
핵심 개선 사항
초기화 SQL 문을 설정하고 QueryTimeout을 지원하지 않는 JDBC 드라이버와의 호환성을 추가하는 기능으로 JDBC 테스트가 향상되었습니다.
- HTTPS를 사용하여 HTTP(S) 테스트 스크립트 레코더를 통해 요청을 기록할 때 올바른 헤더를 수집하는 것과 같은 다양한 버그 수정이 구현되었습니다.
- 버전 5.0에서 JMeter는 사용자 정의 명명 정책을 사용하여 하위 결과의 이름을 바꾸도록 변경되었습니다( 버그 62550 ). 이 변경은 Functional Testing에서 성가실 수 있습니다. 필요한 경우 이전 동작으로 되돌리기 위해 새로운 속성 subresults.disable_renaming=true 가 도입되었습니다. 대안은 테스트 계획에서 기능 테스트 모드 를 확인하는 것입니다( 버그 63055 참조).
UX 개선
템플릿은 테스트 계획 생성 시 채워지는 매개변수를 제공할 수 있으며, 녹음 템플릿은 이 기능을 사용합니다.
다음 과 같이 JMeter 주변에서 일반적으로 사용되는 항목을 수집하기 위해 새로운 도구 메뉴가 도입되었습니다.
- 함수 도우미 대화 상자
- 보고용 수출 거래
- 테스트 계획의 HTML로 개요를 제공하는 Schematic View 생성
- cURL 명령을 가져와 테스트 계획을 생성하거나 업데이트할 수 있는 cURL에서 가져 오기
- JSR223 테스트 요소 컴파일
- 힙 덤프 만들기
- 스레드 덤프 만들기
테스트 계획
cURL 명령에서 테스트 계획을 만드는 기능.
스크립팅/디버깅 개선 사항
- 이제 도구 메뉴 에서 모든 JSR223 요소를 컴파일하는 메뉴 항목을 사용할 수 있습니다.
실시간 보고 및 웹 보고서
- 이제 -e 또는 -g 옵션을 사용할 때 부하 테스트 통계 요약이 포함된 JSON 파일이 생성됩니다 .
- 시간 경과에 따른 백분위수 계산 알고리즘이 각 시간 슬롯에 대해 다시 시작하도록 수정되었습니다.
- 보고 폴더가 존재하지 않거나 -f 명령줄 옵션 을 통해 비어 있지 않을 때 보다 사용자 친화적인 동작
호환되지 않는 변경 사항
- HTML 보고서의 시간에 따른 응답 시간 백분위수(성공 응답) 그래프에서 이 버전 이전에는 각 시간대의 백분위수 계산에서 이전 시간대의 백분위수 데이터를 기준으로 사용했습니다. 이 버전부터 각 시간대는 독립적입니다. 버그 62883 참조
- ClientJMeterEngine#rsetProperties 서명이 속성 대신 HashMap<String,String> 을 사용하도록 변경되었습니다. 버그 63034 를 참조하십시오.
- 새 메뉴 항목 도구 가 도입되었으며 도움말 메뉴에 있던 일부 메뉴 항목이 이제 이 새 메뉴 항목 아래에 있습니다. 버그 63094 참조
- slf4j-ext 가 라이브러리(lib 폴더) 및 JMeter pom에서 제거되었습니다. 기본적으로 사용되지 않았으며 CVE-2018-8088 및 이 문제에 대한 수정 사항이 포함된 안정적인 버전을 사용할 수 없기 때문에 제거하기로 결정했습니다. 여전히 필요한 경우 lib 폴더에 추가할 수 있습니다.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 62840 - HTTP 요청: 잘못된 스트림으로 보이는 압축을 풀 때 오류를 방지하기 위해 httpclient4.gzip_relax_mode 옵션 추가
- 버그 63025 - 포트 및 프로토콜 필드를 포함하도록 HTTP 요청에 대한 검색 및 바꾸기 기능 향상. Mohamed Ibrahim의 초기 코드 수정(gmail.com의 rollno748)
기타 샘플러
- 버그 62934 - QueryTimeout을 지원하지 않는 JDBC 드라이버에 대한 호환성 추가
- 버그 62935 - 사용자 정의 mail.* 속성을 메일 판독기 샘플러에 전달합니다. Artem Fedorov(blazemeter.com의 artem.fedorov)가 구현하고 BlazeMeter가 기고했습니다.
- 버그 63055 - 테스트가 기능 모드 또는 속성 subresults.disable_renaming=true 에서 실행 중일 때 SampleResult 레이블의 이름을 바꾸지 마십시오 . Artem Fedorov(blazemeter.com의 artem.fedorov)가 구현하고 BlazeMeter가 기고했습니다.
컨트롤러
청취자
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 62766 - 키 저장소 구성: 기본적으로 모든 별칭을 로드해야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62832 - JDBC 연결 구성: 초기화 SQL 문을 설정할 수 있습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
기능
- 버그 63037 - CSVRead 를 사용할 때 파일의 스크립트 기본 경로도 검색합니다.
I18N
보고서/대시보드
- 버그 62883 - 보고서/대시보드: 시간 경과에 따른 응답 시간 백분위수(성공적인 응답) 그래프에 대해 백분위수가 계산되는 방식 변경
- 버그 63060 - 보고서 생성기: 생성기는 생성하는 폴더/파일만 확인하고 해당 파일만 삭제해야 합니다.
- 버그 63059 - HTML 대시보드 통계 테이블에 대해 계산된 데이터 콘텐츠를 JSON으로 내보내는 새 JsonExporter를 만듭니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63081 - 명령 줄 옵션 -g 를 통해서만 생성을 사용할 때 명령줄 옵션 -f 가 보고서 폴더를 삭제하지 않습니다 . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
일반적인
- 버그 62959 - cURL 명령에서 테스트 계획을 만드는 기능. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 끌어오기 요청 #394 - FieldStringEditor 에서 null 값을 허용합니다 . Mingun의 패치 기반(mail.ru의 alexander_sergey)
- 버그 62826 - LAF를 변경할 때 사용자가 예를 클릭하여 팝업하면 JMeter를 다시 시작합니다.
- 버그 62257 - 풀 요청 #401 - 확장/축소 단축키 - 숫자 키패드의 (빼기 기호)가 작동하지 않습니다. 제공: Ori Marko(gmail.com의 orimarko)
- 버그 62752 - 문서에 추가: ctx.getThreadNum() 은 0부터 시작하지만 ${__threadNum} 은 1부터 시작합니다.
- pull request #411 - org.apache.jmeter.save.SaveService 에서 SHA1 대신 SHA-1 을 사용하세요 . Paco 제공(daocloud.io의 paco.xu)
- 버그 62914 - 스레드 그룹 UI에 테스트 기간에 대한 힌트 추가
- 버그 62925 - JMeter 비 GUI에 ThreadDump 지원 추가
- 버그 62870 - 템플릿: 매개변수를 제공하는 기능을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62829 - HTTP 요청 샘플러, 고급 탭 및 명령줄 옵션에 대한 프록시 서버 체계 지정을 허용합니다. 제공: Hitesh Patel(hitesh.h.patel at gmail.com)
- 버그 59633 - 메뉴 에서 테스트 계획을 다른 이름 으로 저장, 테스트 조각 으로 저장 및 선택 사항을 다른 이름으로 저장 ... 은 파일 대화 상자에서 새 파일 이름을 사용해야 합니다.
- 버그 61486 - jmeter-server 및 비 GUI 모드를 헤드리스로 실행
- 버그 63093 - JSR223 테스트 요소 컴파일 메뉴 항목을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63094 - 새로운 도구 메뉴 도입
- 버그 63101 - 테스트 계획의 읽을 수 있는 개요를 생성하기 위해 메뉴 항목을 제안합니다.
- 버그 63144 - 보기 리스너 트리에서 텍스트가 큰 응답을 여는 데 시간이 오래 걸립니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
비기능적 변경
- 끌어오기 요청 #408 - RenderInBrowser 구성 요소 에 대한 JavaFX를 찾을 수 없는 경우 스택 추적 대신 정보 메시지를 기록합니다 .
- 풀 리퀘스트 #412 - 중국어 번역 업데이트. 刘士(look.com의 liushilive) 제공.
- pull request #406 - JMeter와 함께 보안 관리자를 사용하는 방법에 대한 짧은 단락을 추가합니다.
- 버그 62893 - commons-lang3의 더 이상 사용되지 않는 항목 대신 commons-text(버전 1.6)의 StringEscapeUtils를 사용하십시오.
- 버그 62972 - pull 요청 #435 - 더 이상 사용되지 않는 Class#newInstance 메서드에 대한 호출을 교체합니다 .
- 버그 63034 - ClientJMeterEngine: rsetProperties 가 속성 대신 HashMap<String,String> 을 사용하도록 합니다.
- httpclient/httpmime 4.5.7로 업데이트됨(4.5.6에서)
- httpcore 4.4.11로 업데이트됨(4.4.10에서)
- httpcore-nio 4.4.11로 업데이트됨(4.4.10에서)
- tika-core 및 tika-parser 1.20으로 업데이트됨(1.18에서)
- commons-dbcp2-2.5.0으로 업데이트됨(commons-dbcp2-2.4.0에서)
- commons-lang3-3.8.1로 업데이트됨(commons-lang3-3.8에서)
- groovy-all-2.4.16으로 업데이트됨(groovy-all-2.4.15에서)
- httpasyncclient-4.1.4.jar로 업데이트됨(4.1.3에서)
- jsoup-1.11.3으로 업데이트됨(1.11.2에서)
- cglib-nodep-3.2.9로 업데이트됨(cglib-nodep-3.2.7에서)
- ph-commons-9.2.1로 업데이트됨(ph-commons-9.1.2에서)
- log4j-2.11.1로 업데이트됨(log4j-2.11.0에서)
- xmlgraphics-commons 2.3으로 업데이트됨(2.2에서)
- 버그 63033 - Saxon-HE 9.9.1-1(9.8.0-12에서)로 업데이트되었습니다. Saxonica에 감사합니다.
- xstream 1.4.11로 업데이트됨(1.4.10에서)
- jodd 5.0.6으로 업데이트됨(4.1.4에서)
- asm-7.0으로 업데이트됨(6.1에서)
- ActiveMQ 5.15.8로 업데이트(5.5.16에서)
- rsyntaxtextarea-3.0.2로 업데이트됨(2.6.1에서)
- apache-rat-0.13으로 업데이트됨(0.12에서)
- jacocoant-0.8.3으로 업데이트됨(0.8.2에서)
- hsqldb-2.4.1로 업데이트됨(2.4.0에서)
- mina-core-2.0.19로 업데이트됨(2.0.16에서)
- 버그 62818 - xercesImpl을 2.12.0(2.11.0에서)으로 업데이트했습니다. Stefan Seide가 보고함(trilobyte-se.de의 스테판)
- 버그 62744 - jquery를 버전 3.3.1로, jquery-ui를 1.12.1로, 부트스트랩을 3.3.7로 업그레이드
- 버그 62821 - 요청 #405 끌어오기 - MD5 대신 SHA-512 체크섬을 사용하여 jar 다운로드 확인
- 버그 63053 - 사용자 문서에서 구현되지 않은 내부에 대한 참조를 제거합니다. U. Poblotzki가 보고함(u.poblotzki at thalia.de)
- 버그 63082 - pull 요청 #437 - 소스의 속성 파일에 utf-8 사용
- 버그 63177 - 문서에서 비 GUI 모드를 CLI 모드로 이름 바꾸기
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 62785 - 풀 요청 #400 - HTTP 샘플러의 업로드 기능에 사용된 파일 이름에 불완전한 검색 경로가 적용되었습니다. Artem Fedorov(blazemeter.com의 artem.fedorov)가 구현하고 BlazeMeter가 기고했습니다.
- 버그 62842 - HTTP(S) 테스트 스크립트 레코더: Brotli 압축이 지원되지 않아 " 콘텐츠 인코딩 오류 " 가 발생합니다.
- 버그 60424 - Hessian Burlap 응용 프로그램: JMeter 가 0x0A 앞에 0x0D 를 자동으로 삽입합니다(http 바이너리 포스트 데이터).
- 버그 62940 - IP 주소를 기반으로 인증서를 생성할 때 다른 cn 및 SAN 확장 유형을 사용합니다.
- 버그 62916 - 분산 테스트가 실행된 후 기록이 시작된 경우 HTTP 테스트 스크립트 레코더가 UnsupportedOperationException과 함께 실패함
- 버그 62987 - HTTP(S) 테스트 스크립트 레코더 아래의 TestBean 요소가 작동하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63015 - 첫 번째 실패한 요청 후 프록시 HTTP(S) 테스트 스크립트 레코더를 통해 요청을 실행할 때 비정상적인 NoHttpResponseException이 발생합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62852 - 프록시를 사용할 때 HTTP 요청 헤더에 정보가 없습니다. Oleg Kalnichevski(apache.org의 olegk)에게 감사드립니다.
- 버그 63048 - JMeter가 "바로 가기 아이콘" 또는 "아이콘" 유형의 링크 리소스를 검색하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
기타 샘플러
- 버그 62775 - user.classpath 가 참조하는 폴더에 많은 jar가 있는 경우 JUnit으로 인해 시작이 매우 느려질 수 있습니다.
- 버그 63031 - 잘못된 JDBC 드라이버 클래스: org.firebirdsql.jdbc.FBDrivery . Sonali 제공(gmail.com의 arora.sonali99)
컨트롤러
- 버그 62806 - Run에 의한 ModuleController 복제는 GUI 모드에서든 비 GUI 모드에서든 다르게 작동합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62847 - 컨트롤러가 LoopController/WhileController/ForEachController에 의해 노출된 인덱스에 변수를 사용할 수 없는 경우
- 버그 63064 - IfController에서 사용된 표현식의 끝과 시작 부분에서 공백을 무시합니다.
청취자
- 버그 62770 - 집계 그래프 에서 ArrayIndexOutOfBoundsException 이 발생함
- 버그 63069 - 기록 또는 테스트가 실행되는 동안 사용자가 종료하면 ResultCollector가 XML 파일의 끝을 쓰지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 63138 - InfluxDB BackendListenerClient: 오류의 경우 로그가 디버그 상태이고 오류 상태여야 합니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 62774 - XPath2Extractor: 범위 변수가 손상되었습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62860 - JSON 추출기: 변수를 찾을 수 없는 경우 " 에서 JSON 콘텐츠 처리 중 오류 발생" NPE 및 잡음이 있는 오류 메시지 방지
기능
I18N
보고서/대시보드
- 버그 62777 - 웹 보고서/대시보드: 시간 경과에 따른 응답 시간 백분위수에서 모두 숨기기(성공적인 응답) 가 실패합니다.
- 버그 62780 - 웹 보고서/대시보드: 응답 시간 대 요청 에 모두 표시 가 실패합니다.
- 버그 62781 - 웹 보고서/대시보드: 응답 시간 개요 에 모두 표시 가 실패합니다.
- 버그 62782 - 웹 보고서/대시보드: 중복/사용하지 않는 종속성 제거
- 버그 62894 - 보고서/대시보드: 처리량이 잘못된 열에 있어 단위가 밀리초이므로 혼란스럽습니다.
- 버그 63016 - 소스 csv에 따옴표가 있는 레이블이 포함된 경우 빈 HTML 보고서. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
선적 서류 비치
- 구성 요소 참조 문서에서 테스트 작업 (이전 이름)을 흐름 제어 작업 으로 변경 합니다. 제공: Ori Marko(gmail.com의 orimarko)
일반적인
- 버그 62745 - 정의되지 않은 비활성화된 아이콘을 수정합니다. 제공: Till Neunast (https://github.com/tilln)
- 버그 62743 - 분산 테스트에서 클라이언트 인증을 활성화해야 합니다.
- 버그 62767 - 특정 조건에서 검색할 때 NPE. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62790 - 첫 번째 일치 항목을 선택하지 않고 바꾸기를 호출할 때 ArrayIndexOutOfBoundsException 이 발생함
- 버그 62795 - 일부 작업자 노드가 완료되지 않은 경우에도 JMeter 컨트롤러 노드가 분산 테스트를 종료하는 경우가 있습니다.
- 버그 62336 - 끌어오기 요청 #396 - 일부 바로 가기가 Windows에서 제대로 작동하지 않습니다. 제공: Michael Pavlov(gmail.com의 michael.paulau)
- 버그 62889 - JSON 경로 테스터와 함께 표시될 때 JSON 배열 형식을 지정합니다.
- 버그 62900 - ObjectProperty#getStringValue()가 NullPointerException을 던질 수 있음
- 버그 63099 - 변수 대체 구조 외부에서만 함수 도우미 대화 상자에서 쉼표를 이스케이프합니다.
- 버그 63105 - 보고용 내보내기 트랜잭션: 버그 2개 수정
- 버그 63106 - 명명 정책을 적용해도 UI가 새로 고쳐지지 않음
- 버그 63180 - 명명 정책 적용은 다중 선택을 허용하지만 첫 번째 노드만 고려함
- 버그 63090 - CVE-2018-8088로 인한 slf4j-ext 제거
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- Oleg Kalnichevski(apache.org의 olek)
- Neunast까지 (https://github.com/tilln)
- 민군(mail.ru의 alexander_sergey)
- 유빅 로드팩
- Artem Fedorov(blazemeter.com의 artem.fedorov)
- Stefan Seide(trilobyte-se.de의 스테판)
- 刘士(outlook.com의 liushilive)
- Michael Pavlov(gmail.com의 michael.paulau)
- Ori Marko(gmail.com의 orimarko)
- 파코(daocloud.io의 paco.xu)
- Hitesh Patel(gmail.com의 hitesh.h.patel)
- Sonali(gmail.com의 arora.sonali99)
- 모하메드 이브라힘(gmail.com의 rollno748)
- U. Poblotzki(thalia.de의 u.poblotzki)
- 색소니카
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 5.0
요약
새롭고 주목할만한
핵심 개선 사항
많은 분야에서 휴식 지원이 향상되었습니다.
- Multipart/form-data 요청은 이제 PUT , DELETE …
- 이제 첨부 파일과 함께 JSON 본문을 보낼 수도 있습니다.
- 매개변수 탭에 입력한 매개변수는 이제 무시되지 않고 본문에서 사용됩니다.
분산 테스트에서 JMeter는 이제 자동으로 스레드 이름에 엔진 호스트 및 포트를 접두사로 붙입니다. 이렇게 하면 이전에 필요했던 것처럼 다른 구성 없이 HTML 보고서에서 스레드 계산이 정확해집니다.
XPath 2.0은 더 쉬운 XML 네임스페이스 처리, 최신 XPath 구문 및 더 나은 성능을 제공하는 XPath2 추출기 라는 새로운 요소에서 지원됩니다.
HTTP 구성 요소 4.6 마지막 API로의 업그레이드가 완료되었으며 JMeter는 이 라이브러리의 더 이상 사용되지 않는 API에 의존하지 않습니다.
이제 루프 차단 및 루프 전환을 다음 반복으로 더 쉽게 제어할 수 있습니다. 이것은 흐름 제어 작업 및 결과 상태 작업 처리기 요소 에서 사용할 수 있습니다.
Controller는 이제 __jm__<Name of your element>__idx 라는 현재 인덱스를 포함하는 변수를 내보냅니다 . 예를 들어, While 컨트롤러의 이름이 WC인 경우 ${__jm__WC__idx} 를 통해 루핑 인덱스에 액세스할 수 있습니다.
스크립팅/디버깅 개선 사항
검색 기능이 개선되어 검색 결과를 트리에서 반복하고 다음 / 이전 / 바꾸기 / 바꾸기/찾기 버튼 을 통해 필요한 바꾸기를 수행할 수 있습니다.
결과 트리 보기에서 요청 및 응답 헤더/본문이 명확하게 분리되어 요청 및 응답을 더 잘 검사할 수 있습니다. 모든 탭에서 특정 값을 검색할 수도 있습니다.
기록 기능이 개선되어 브라우저에서 탐색할 때 항상 상단에 표시되는 팝업을 제공하여 애플리케이션에서 탐색하는 동안 트랜잭션의 이름을 지정할 수 있습니다.
이제 메뉴
실시간 보고 및 웹 보고서
보고 기능이 향상되었습니다.새로운 그래프 초당 총 트랜잭션이 HTML 웹 보고서에 추가되었습니다.
이제 sample_variables 를 통해 JMeter 변수로 사용 가능한 사용자 정의 메트릭을 시간 경과에 따라 그래프로 표시할 수 있습니다 . 이러한 맞춤 측정항목 그래프는 맞춤 그래프 섹션 의 HTML 보고서에서 사용할 수 있습니다.
이제 초당 조회수 그래프가 포함된 리소스를 고려합니다.
라이브 보고에서 전송 및 수신된 바이트는 이제 백엔드(InfluxDB 또는 Graphite)로 전송됩니다.
기능
ThreadGroup 이름을 얻기 위해 새로운 함수 __threadGroupName 이 도입되었습니다.
호환되지 않는 변경 사항
- JMeter 5.0부터 기본 HC4 구현을 사용할 때 JMeter는 각 스레드 그룹 반복에서 HTTP 상태(SSL 상태 + 연결)를 재설정합니다. 이 동작을 원하지 않으면 httpclient.reset_state_on_thread_group_iteration=false 를 설정하십시오.
- JMeter 5.0부터는 위의 언급과 관련하여 https.use.cached.ssl.context 가 deprecated되어 더 이상 사용되지 않습니다.
- JMeter 5.0부터 CSV 출력을 사용할 때 하위 결과도 CSV 파일로 출력됩니다. 이전 동작으로 되돌리려 면 jmeter.save.saveservice.subresults=false 를 설정하십시오. 버그 62470 , 버그 60917 , 버그 62550 을 참조하십시오 .
- JMeter 5.0부터 CSS/JQuery Extractor 는 CSS Selector Extractor 로 이름이 변경되었습니다.
- JMeter 5.0부터 테스트 작업 의 이름이 흐름 제어 작업 으로 변경되었습니다.
- JMeter 5.0부터 JMeter는 subResults의 이름을 parentName-N 으로 바꿉니다 . 여기서 N은 Hits Per Second 그래프에 리소스 다운로드가 포함되도록 숫자입니다. 버그 62550 , 버그 62470 및 버그 60917 을 참조하세요.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 62260 - 휴식 지원을 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 58757 - HTTP 요청: 사용되지 않는 HttpComponents 메서드를 httpclient-4.5.X의 마지막 API로 업데이트했습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62212 - 레코더: 브라우저를 사용하는 동안 트랜잭션 이름과 일시 중지를 변경할 수 있도록 모든 창 위에 팝업을 제공하여 UX를 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62248 - HTTP 요청: 매개변수 탭에 입력한 매개변수는 무시하는 대신 본문에 사용해야 합니다. 부분적으로 Blazemeter가 제공한 Artem Fedorov의 패치를 기반으로 합니다.
- 버그 60015 - Multipart/form-data는 HTTPClient4를 사용하는 POST 에서만 작동하지만 PUT , DELETE , ... Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62317 - HTTP(S) 테스트 스크립트 레코더: 생성된 샘플러에 ResultSaver를 추가할 수 있음
기타 샘플러
- pull request #376 - JUnitSampler는 테스트 케이스의 assertion-failures를 제외한 예외를 경고로 기록합니다. 제공: Davide Angelocola(fisglobal.com의 david.angelocola)
- 버그 62244 - 테스트 작업 의 이름 을 흐름 제어 작업 으로 변경
- 버그 62302 - JSR223 샘플러를 메뉴 위로 이동합니다. 제공: Ori Marko(gmail.com의 orimarko)
- 버그 62595 - SMTPSampler는 핸드셰이크에 사용할 SSL/TLS 프로토콜을 구성하는 것을 허용하지 않습니다. Felipe Cuozzo 제공(gmail.com의 felipe.cuozzo)
컨트롤러
- 버그 62237 - 컨트롤러 동안: 현재 반복 인덱스가 포함된 변수를 내보냅니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
청취자
- 버그 62195 - 응답을 파일에 저장: 구성 요소 및 UI를 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62209 - InfluxBackendListenerClient: 오류 코드와 응답 코드가 비어 있거나 정상인 경우 첫 번째 어설션 실패 메시지를 보내야 합니다.
- 버그 62269 - 버그 62269 - 결과 트리 보기: 응답 및 요청 탭에 헤더 및 본문 탭이 포함되어야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62270 - 결과 트리 보기: 요청 헤더, 응답 헤더 및 요청 본문에서 검색을 허용합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62276 - InfluxDBBackendListenerClient / GraphiteBackendListenerClient : 전송 및 수신 바이트를 메트릭에 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 62320 - 카운터: 참조 이름 속성이 명확하지 않습니다.
- 버그 60991 - XPath 추출기: XPath 2.0을 구현합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62593 - CSS/JQuery 추출기를 CSS 선택기 추출기로 이름을 바꿉니다. 제공: Ori Marko(gmail.com의 orimarko)
기능
- 버그 62178 - __V 함수 에 기본값을 추가 합니다. 제공: Ori Marko(gmail.com의 orimarko)
- 버그 62178 - ThreadGroup 이름을 얻기 위해 __threadGroupName 함수를 추가합니다. 주로 Ori Marko(gmail.com의 orimarko)가 기고함
- 버그 62533 - __dateTimeConvert 함수에서 날짜 문자열 값으로 에포크 시간 사용 허용
- 버그 62541 - __jexl3 , __jexl2 함수가 var x와 같은 새 구문을 지원하도록 허용합니다. . 제공: Ori Marko(gmail.com의 orimarko)
- 버그 61834 - 함수 도우미 대화 상자: 변수를 표시하고 평가 간에 사용할 수 있도록 유지하여 테스트를 개선합니다.
I18N
보고서/대시보드
- 버그 62243 - 대시보드: " --forceDeleteResultFile "/" -f " 옵션이 " -o " 옵션 에서 참조하는 폴더 삭제 옵션 을 만듭니다.
- 버그 62367 - HTML 보고서 생성기: 초당 그래프 총 트랜잭션을 추가합니다. 주로 Martha Laks(gmail.com의 laks.martha) 제공
- 버그 62166 - 보고서/대시보드: JMeter 대시보드에서 사용자 정의 그래프 및 메트릭을 등록하는 기능을 제공합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62542 - 보고서/대시보드: 그래프가 비어 있을 때 필터에 대한 추가 정보를 표시합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62426 - 보고서 생성 성능을 최적화합니다. Allen의 피드백 기반(qq.com의 444104595)
- 버그 62550 - 하위 결과 명명 정책 수정
- 버그 60917 - 포함된 리소스 다운로드로 로드 테스트: 초당 적중 횟수는 다운로드된 리소스를 고려하지 않습니다.
일반적인
- 버그 62684 - 분산 테스트: 엔진을 식별하기 위해 접두사를 스레드 이름에 자동으로 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62155 - 검색 기능: 검색 텍스트 필드에 초점을 맞춥니다.
- 버그 62156 - 검색 기능: 검색과 일치하는 노드와 검색과 일치하는 자식이 포함된 노드를 구별합니다.
- 버그 62234 - 검색/바꾸기 기능: UX를 개선하고 바꾸기/다음/이전/바꾸기 및 찾기 기능을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62238 - 현재 루프의 다음 반복으로 전환하는 기능을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62239 - 현재 루프를 끊는 기능 추가
- 버그 61635 - JMeter를 다시 시작하는 메뉴 추가
- 버그 62470 - CSV 출력: jmeter.save.saveservice.subresults=true 일 때 하위 결과 로깅을 활성화합니다 . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62473 - " saveservice_properties " 설정에 반 직관적인 동작이 있습니다.
- 버그 62354 - 사용자당 초 단위의 올바른 계산 및 사용(gmail.com의 jffagot05 보고)
- 버그 62700 - JMeter 시작 시 JSR-223 스크립트를 호출할 수 있도록 jsr223.init.file 도입
- 버그 62128 - jmeter.bat 가 다른 디렉토리의 배치 파일에서 호출 될 때 JMETER_HOME 을 올바르게 추측 하려고 합니다. 제공: logox01(gmx.at의 logox01)
- pull request #386 - RMI 키 저장소 생성 스크립트에 대한 매개변수 지원을 추가합니다. 제공: Logan Mauzaize(t524467 at airfrance.fr)
- 버그 62065 - 포함된 모듈 대신 JAF 모듈용 Maven 아티팩트 사용
- 버그 61714 - 실시간 결과 문서 업데이트
- 풀 리퀘스트 #382 - 문서의 오타를 수정했습니다. Perze Ababa 보고(gmail.com의 perze.ababa>)
- 풀 리퀘스트 #392 - 문서의 오타를 수정했습니다. Aaron Levin이 보고함
- 풀 리퀘스트 #379 - 중국어 번역 개선. 제공: XmeterNet
비기능적 변경
- 풀 리퀘스트 #358 , 풀 리퀘스트 #365 , 풀 리퀘스트 #366 , 풀 리퀘스트 #375 - 최신 체크스타일(v8.8)로 업데이트되었습니다. src 및 test 의 파일로 확장된 Checkstyle ; 새로 확인된 파일을 수정했습니다. Graham Russell(ham1.co.uk의 graham)의 기여에 기반
- 버그 62095 - 경계 추출기의 오른쪽 경계 매개변수에 대한 올바른 설명. 제공: Ori Marko(gmail.com의 orimarko)
- 버그 62113 - 최신 Bouncycastle(v1.60)로 업데이트되었습니다. Olaf Flebbe(apache.org의 oflebbe)의 기여를 기반으로 합니다.
- 버그 62171 - .md5 체크섬을 제거 하고 소스 및 바이너리 아카이브에 대해 .sha512 체크섬만 유지합니다.
- groovy-all-2.4.15로 업데이트됨(groovy-all-2.4.13에서)
- asm-6.1로 업데이트됨(6.0에서)
- tika-core 및 tika-parser 1.18로 업데이트됨(1.17에서)
- 버그 62482 - 문서를 ForEachController 구현과 동기화합니다. Ori Marko(gmail.com의 orimarko)의 기여를 기반으로 합니다.
- 버그 62529 - httpclient-4.5.6(httpclient 4.5.5에서)으로 업데이트되고 freemarker-2.3.28(freemarker-2.3.23에서)로 업데이트되었습니다. Ori Marko의 패치 기반(gmail.com의 orimarko)
- httpmime-4.5.6으로 업데이트됨(httpmime-4.5.5에서)
- 카페인 2.6.2로 업데이트됨(카페인 2.6.1에서)
- cglib-nodep-3.2.7로 업데이트됨(cglib-nodep-3.2.6에서)
- commons-dbcp2-2.4.0으로 업데이트됨(commons-dbcp2-2.2.0에서)
- commons-pool2-2.6.0으로 업데이트됨(commons-pool2-2.5.0에서)
- httpcore-4.4.10으로 업데이트됨(httpcore-4.4.9에서)
- httpcore-nio-4.4.10으로 업데이트됨(httpcore-nio-4.4.9에서)
- log4j-2.11.0으로 업데이트됨(log4j-2.10.0에서)
- ph-css-6.1.1로 업데이트됨(ph-css-6.0.0에서)
- ph-commons-9.1.2로 업데이트됨(ph-commons-9.0.0에서)
- rhino-1.7.10으로 업데이트됨(+rhino-1.7.7.2에서)
- commons-lang3-3.8로 업데이트됨(commons-lang3-3.7에서)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 62114 - HTTP(S) 테스트 스크립트 레코더: 클라이언트 인증서 인증은 생성된 첫 번째 SSLManager를 사용합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61058 - HTTP 요청: 잘못된 스트림으로 보이는 것을 수축할 때 "ZLIB 입력 스트림의 예기치 않은 끝"을 방지하기 위해 httpclient4.deflate_relax_mode 옵션을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 43612 - HTTP PUT이 요청 매개변수를 인정하지 않습니다. Artem Fedorov(blazemeter.com의 artem.fedorov)에 의해 구현되고 BlazeMeter Ltd에 의해 기고되었습니다.
- 버그 60190 - POST 에 대해 무조건적으로 Content-Type이 추가됩니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62462 - 풀 요청 #387 - SPNEGO에서 자격 증명 위임을 다시 가능하게 합니다.
- 버그 58807 - 스레드 그룹 반복에서만 SSL 상태 재설정(https.use.cached.ssl.context=false 가 손상됨)
- 버그 62716 - 기록할 때 JMeter는 Bearer 토큰을 사용할 때 생성된 헤더 관리자에서 권한 부여를 제거합니다.
기타 샘플러
- 버그 62235 - Java 9 - org.apache.jmeter.util.HostNameSetter에 의한 잘못된 반사 액세스
- 버그 62464 - 초기화에 실패하더라도 JMS 게시자 샘플러에서 시작 및 종료 시간을 설정합니다.
- 버그 62616 - FTPSampler: 업로드 파일 크기가 sentBytes로 계산되지 않습니다.
컨트롤러
- 버그 62265 - ModuleController가 이상하게 작동 합니다.
청취자
- 버그 62097 - 새 데이터가 도착한 경우에만 집계 보고서에서 JTable을 업데이트합니다. 그렇게하면 행 선택이 더 오래 유지됩니다.
- 버그 62203 - Influxdb BackendListener 클라이언트: 주석 및 내부 트랜잭션에 사용자 태그를 저장합니다. Sergey Batalin 제공(mail.ru의 sergey_batalin)
- 버그 62251 - TextGraphiteMetricsSender는 네트워크 오류의 경우 연결 끊김을 무효화하지 않습니다.
- 버그 60705 - 열이 이동할 때 집계 보고서 및 친구의 헤더를 수정합니다.
- 버그 62463 - 분산 클라이언트/서버 설정: SSL을 사용할 때 원격 개체에 대해 다른 RMI 포트를 사용합니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 61664 - HTTP 권한 부여 관리자: 다이제스트는 레거시 RFC 2069 에서만 작동 하며 RFC 2617 은 구현되지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62252 - HTTP 헤더 병합 논리가 문서와 일치하지 않음
- 버그 62554 - BoundaryExtractor: 확인할 필드가 재설정되지 않음
- 버그 62553 - "스레드 사용자당(사용자)" 속성이 TRUE로 설정된 경우에도 임의 요소가 동일한 값을 반환할 수 있음
- 버그 62637 - 타이머 동기화에 대한 지연을 계산할 때 스케줄러를 고려하십시오.
기능
I18N
- 버그 62310 - 정확한 처리량 타이머 레이블의 프랑스어 번역
보고서/대시보드
- 버그 62333 - 보고서 대시보드 - 한 시리즈에 값이 없으면 그래프 색상 논리가 잘못되었습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62283 - 보고서 대시보드 - 세분성이 1일 이하인 경우 날짜가 차트에 올바르게 표시되지 않습니다.
- 버그 62520 - '대기 시간 대 요청' 그래프의 지점에 마우스를 가져가면 도구 설명 텍스트가 '대기 시간 중앙값'이어야 합니다.
선적 서류 비치
- 버그 62211 - HTTP 요청 서버 문서 수정. 제공: Ori Marko(gmail.com의 orimarko)
- 풀 리퀘스트 #388 - 오타 수정. Giancarlo Romeo 제공(gmail.com의 giancarloromeo)
일반적인
- 버그 62107 - JM_LAUNCH 에 공백이 포함 된 경우 Windows에서 JMeter가 시작되지 않음
- 버그 62110 - 종속성이 없어 JUnit 클래스가 손상되면 JMeter 메뉴가 손상됩니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 풀 리퀘스트 #377 - 문서의 작은 수정. 제공: Peter Doornbosch(luminis.eu의 peter.doornbosch)
- 버그 62124 - 녹음 템플릿: 더 많은 제외를 추가하고 기본적으로 트랜잭션 이름을 사용합니다.
- 버그 62127 - 파일 편집기에서 파일 대신 문자열로 파일 이름을 저장합니다. 이렇게 하면 예를 들어 CSV 데이터 세트 구성에서 사용될 때 Unix 스타일 경로 구분 기호에서 Windows 스타일로 파일 이름이 변환되지 않습니다.
- 버그 56150 - 메뉴 항목을 스크롤할 때 색인을 올바르게 유지하십시오.
- 버그 62240 - SampleMonitor 구현이 TestBean인 경우 올바르게 초기화되지 않는 경우
- 버그 62295 - 선택한 여러 요소를 복제할 때 요소의 순서를 수정합니다.
- 버그 62397 - JSON 경로 테스터를 사용할 때 쉼표에서 줄을 끊지 마십시오.
- 버그 62281 - MapProperty에서 NPE를 방지합니다. belugabehr의 패치(gmail.com의 dam6923)
- 버그 62457 - 사용 설명서에서 UUID 기능의 예가 잘못되었습니다. helppass 제공(hotmail.com의 onegaicimasu)
- 버그 62478 - GUI 함수 도우미에서 함수 문자열을 구성할 때 매개변수에서 쉼표를 이스케이프합니다. blue414에서 보고함(163.com의 blue414)
- 버그 62463 - client.rmi.localport 가 분산 실행에 대해 설정된 경우 포트 사용을 수정합니다 .
- 버그 62545 - RenderAsJSON에서 JSON을 들여쓸 때 "탭" 문자열의 일부로 콜론을 사용하지 마십시오.
- 버그 62637 의 일부 - TimerService#adjustDelay 에서 매우 큰 값을 처리할 때 정수 오버런을 방지합니다 .
- 버그 62683 - 사용자가 완전히 잘못된 테스트 계획을 열 때 오류 대화 상자에 텍스트가 없습니다.
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- Ori Marko(gmail.com의 orimarko)
- Davide Angelocola(fisglobal.com의 david.angelocola)
- 유빅 로드팩
- Olaf Flebbe(apache.org의 oflebbe)
- Peter Doornbosch (luminis.eu의 peter.doornbosch)
- logox01(gmx.at의 logox01)
- Sergey Batalin(mail.ru의 sergey_batalin)
- X미터
- Imane Ankhila(ahlane.net의 iankhila)
- jffagot05(gmail.com의 jffagot05)
- Perze Ababa(gmail.com의 perze.ababa)
- Martha Laks(gmail.com의 laks.martha)
- Logan Mauzaize(t524467 at airfrance.fr)
- belugabehr(gmail.com의 dam6923)
- Giancarlo Romeo(gmail.com의 giancarloromeo)
- helppass(hotmail.com에서 onegaicimasu)
- blue414(163.com의 blue414)
- 아론 레빈
- 알렌(qq.com의 444104595)
- Felipe Cuozzo(gmail.com의 felipe.cuozzo)
- bangnab(gmail.com의 ambrosetti.nicola)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 결과 보기 트리는 특히 이 응답에 공백이 없는 경우 큰 응답 렌더링을 중지할 수 있습니다( 버그 60816 참조) . 이것은 공백이 없는 긴 텍스트로 JEditorPane.setText() 또는 JTextArea.setText() 를 호출할 때 식별된 Java 버그 UI가 멈 췄기 때문 입니다.
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 4.0
요약
새롭고 주목할만한
핵심 개선 사항
JMeter는 이제 JAVA 9를 지원합니다.
더 나은 성능으로 쉽게 추출할 수 있는 새로운 Boundary Extractor 요소 사용 가능
JSON 응답에 대해 어설션하는 데 사용할 수 있는 새 JSON 어설션 요소입니다.
주어진 일정한 처리량으로 포아송 도착을 생성하는 새로운 정밀 처리량 타이머 요소를 사용할 수 있습니다.
JMS 지점간 샘플러가 읽기 , 찾아보기 , 지우기 옵션으로 향상되었습니다.
모범 사례가 기본값인지 확인하기 위해 이제 많은 테스트 요소에서 최상의 속성 값이 선택됩니다.
- 새로 추가된 If Controller 는 이제 가장 성능이 좋은 옵션인 기본 표현식을 사용합니다.
- 새로 추가된 JSR223 테스트 요소는 사용된 언어가 이 기능을 제공하는 경우 기본적으로 컴파일된 스크립트를 캐시합니다.
루프 컨트롤러 와 ForEach 컨트롤러 는 이제 MyLoopController 라는 루프 컨트롤러에 대해 다음과 같이 사용할 수 있는 __jm__<Name of your element>__idx 라는 변수로 현재 반복을 노출합니다.
${__jm__MyLoopController__idx}. 버그 61802 참조
이제 기록하는 동안 쿠키가 결과 트리 보기에 표시됩니다. 이전에는 항상 비어 있는 것으로 표시되었습니다.
이제 응답 어설션 을 사용하여 어설션 메시지를 사용자 정의하고 요청 데이터에 대해 어설션할 수 있습니다.
UX 개선
JMeter는 이제 기본적으로 Darcula LAF 를 사용합니다.
Workbench가 UI에서 삭제되었으므로 이제 테스트 계획의 직계 자식으로 비 테스트 요소를 사용할 수 있습니다.
메뉴 UX는 가장 많이 사용하는 요소를 보다 빠르게 사용할 수 있도록 개선되었습니다.
이제 HTTP(S) 테스트 스크립트 레코더를 사용하여 사람이 읽기 쉬운 방식으로 기록하면서 트랜잭션의 이름을 지정할 수 있습니다.
가장 주목할만한 UX 개선 사항:
- 모듈 컨트롤러는 사용자에게 하나 이상의 컨트롤러가 필요함을 알립니다.
- 기능 도우미 대화 상자(기능 사용 및 테스트를 지원하는 마법사)가 여러 분야에서 개선되었습니다.
- 스위치 컨트롤러는 이름 앞/뒤에 공백이 도입될 때 문제를 피하기 위해 텍스트를 트리밍합니다.
- 이제 테스트 계획을 실행하기 전에 테스트 계획이 저장됩니다.
기능
새로운 기능 __digest 는 SHA-XXX, MDX 해시의 쉬운 계산을 제공합니다.
${__digest(MD5, Apache JMeter 4.0 락!,,,)}0e16c3ce9b6c9971c69ad685fd875d2b 를 반환 합니다.
새로운 함수 __dateTimeConvert 는 날짜 형식 간의 손쉬운 변환을 제공합니다.
${__dateTimeConvert(2017년 1월 1일, dd MMM yyyy,dd/MM/yyyy,)}2017년 1월 1일 을 반환 합니다
새로운 기능 __changeCase 는 대문자 / 소문자 / 대문자로 전환하는 기능을 제공합니다.
${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil, UPPER,)}AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHIL을 반환합니다 .
새로운 함수 __isVarDefined 및 __isPropDefined 는 속성 및 변수 가용성 테스트를 제공합니다.
${__isPropDefined(START.HMS)}true 를 반환 합니다
${__isVarDefined(JMeterThread.last_sample_ok)}true 를 반환 합니다
스크립팅 및 플러그인 개발
이제 샘플러가 결과에 표시되지 않도록 하려면 SampleResult#setIgnore() 를 호출할 수 있습니다.
AbstractJavaSamplerClient 에서 사용하는 JavaSamplerContext 는 쉬운 플러그인 개발을 위한 새로운 메소드로 향상되었습니다.
JMeter는 이제 추가 Maven 소스 및 javadoc 아티팩트를 Maven 저장소 에 배포합니다.
플러그인은 이제 테스트 계획이 열리거나 닫힐 때 알림을 받을 리스너를 등록할 수 있습니다.
실시간 보고 및 웹 보고서
InfluxDB 백엔드 리스너는 이제 접두사 TAG_ 를 사용하여 사용자 정의 태그를 추가할 수 있습니다. 버그 61794 참조
Web Report 응답시간 분포 그래프가 더 정확합니다.
보고서 생성 시 일부 버그가 수정되었습니다 ( 버그 61900 , 버그 61900 61956, 버그 61899 참조 ) . 그래프 지연 시간 대 요청 및 응답 시간 대 요청 이 버그 61962 로 인해 1000RPS를 초과하지 않았습니다 .
JMeter 환경 구성
JMeter 시작 스크립트에 대한 JVM 설정은 시작 시 호출되는 별도의 파일( Unix의 경우 bin/setenv.sh 및 Windows의 경우 bin\setenv.bat )에 배치할 수 있습니다. 시작 스크립트 자체는 더 이상 편집할 필요가 없습니다.
호환되지 않는 변경 사항
- 스레드 그룹의 시작 시간 및 종료 날짜 가 제거되었습니다. 버그 61549 를 참조하십시오.
- 분산 테스트에서 보류 모드 가 제거되었습니다. 대체 및 보다 효율적인 모드 사용
- 타사 플러그인의 경우 org.apache.jmeter.gui.tree.JMeterTreeNode의 다음 메소드 가 Java 9로 마이그레이션하기 위해 삭제되었습니다(
버그 61529 ).
공개 열거<JMeterTreeNode> children()
- tearDown 스레드 그룹 은 이제 기본적으로 테스트가 중지 및 종료될 때 실행됩니다. 이 동작을 원하지 않으면 테스트 계획 요소에서 기본 스레드 종료 후 해체 스레드 그룹 실행 을 선택 취소하십시오. 버그 61656 을 참조하십시오.
- 속성 sampleresult.getbytes.headers_size 및 sampleresult.getbytes.body_real_size 가 삭제되었습니다. 버그 61587 참조
- JMeter는 이제 실행할 때마다 테스트 계획을 저장합니다. 이 동작은 save_automatically_before_run 속성으로 제어할 수 있습니다. 버그 61731 을 참조 하세요.
- Workbench 요소가 삭제되었으므로 이제 Non Test Element 를 Test Plan의 자식으로 직접 추가할 수 있습니다. JMeter 요소가 포함된 테스트 계획을 로드할 때 미러 서버 , 속성 표시 및 HTTP(s) 테스트 스크립트 레코더 요소를 테스트 계획의 직계 자식으로 이동합니다. 다른 요소의 경우 Workbench Test Fragment 라는 Test Fragment 요소 를 만들고 그 안의 요소를 이동합니다 .
- 다음 클래스가 삭제되었습니다( org.apache.jmeter.functions.util.ArgumentEncoder , org.apache.jmeter.functions.util.ArgumentDecoder ), Pull request #335 참조
- JMS 지점 간 샘플러에서 시간 초과를 0으로 설정하면 이제 무한 시간 초과를 의미하지만 이전에는 2000ms로 전환되었습니다( 버그 61829 참조).
- 어설션이 다른 범위에 있을 때 가장 OUTER부터 시작하여 가장 INNER까지 실행됩니다. 버그 61846 참조
- JMeter는 이제 영어 로케일을 사용하여 기본적으로 시작됩니다. 이 변경은 지원되는 많은 언어에서 번역이 누락되었기 때문입니다. jmeter 및 jmeter.bat(또는 바람직하게는 setenv.sh/setenv.bat)에서 JVM_ARGS 시스템 속성 값 을 수정하여 로케일을 변경할 수 있습니다 . 지원되는 언어로 번역을 제공할 수 있다면 매우 감사하겠습니다.
- SwitchController는 이제 원치 않는 공백과 관련된 문제를 피하기 위해 기본적으로 스위치의 내용을 자릅니다. 버그 61771 참조
- JMeter JVM 힙 설정이 -Xms512m -Xmx512m 에서 -Xms1g -Xmx1g 로 변경되었습니다.
- Beanshell 버전이 bsh-2.0b6으로 업그레이드되어 주요 변경 사항과 보다 엄격한 구문 분석 규칙이 도입되었습니다.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- pull request #316 - 빈 truststore 로딩에 대해 경고합니다. Vincent Herilier 제공(https://github.com/vherilier)
- 버그 61639 - HTTP(S) 테스트 스크립트 레코더: 요청 필터링 탭에서 기본적으로 "필터링된 샘플러의 하위 수신기에 알림"을 선택 취소합니다.
- 버그 61672 - HTTP(S) 테스트 스크립트 레코더: 접두사를 추가하는 기능을 유지하면서 샘플러 이름을 선택할 수 있는 기능이 있습니다.
- 버그 53957 - HTTP 요청: 매개변수 탭에서 Firefox 및 Chrome에서 가져온 콘텐츠 붙여넣기 허용(분석되지 않음)
- 버그 61587 - 속성 sampleresult.getbytes.headers_size 및 sampleresult.getbytes.body_real_size 삭제
- 버그 61843 - HTTP(S) 테스트 스크립트 레코더: JMeter에서 생성한 CA 인증서에 SAN을 추가합니다. 제공: Matthew Buckett
- 버그 61901 - https.cipherSuites 시스템 속성에 대한 지원 . 제공: Jeremy Arnold(jeremy atrnoldzoo.org)
기타 샘플러
- 버그 61544 - JMS 지점 간 샘플러: 읽기, 찾아보기, 지우기로 통신 스타일을 향상시킵니다. Benny van Wijngaarden(smaragd-it.nl의 benny)의 기여에 기반
- 버그 61829 - JMS 지점 간: 수신 대기열이 비어 있고 시간 초과가 설정된 경우 고려되지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61739 - Java 요청/JavaSamplerClient: org.apache.jmeter.protocol.java.sampler.JavaSamplerContext 개선
- 버그 61762 - 다음 스레드 루프 시작은 모든 곳에서 사용해야 합니다.
컨트롤러
- 버그 61675 - 컨트롤러의 경우: 기본적으로 표현식을 사용하고 다른 모드가 사용될 때 경고를 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61770 - 모듈 컨트롤러: UI에서 사용자에게 계획에 하나 이상의 컨트롤러가 있어야 한다고 알립니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61771 - SwitchController: 스위치 필드는 안전을 위해 잘려야 합니다.
청취자
- 버그 57760 - 결과 트리 보기: 레코더 샘플 결과를 볼 때 쿠키 헤더가 빈(쿠키 없음)으로 잘못 표시됩니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61769 - 결과 트리 보기: XPath 테스터, JSON 경로 테스터 및 CSS/JQuery 테스터에서 구문 형광펜을 사용합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61776 - 결과 트리 보기: 렌더 XML 보기에서 추가 확장/모두 축소 메뉴 확장. Maxime Chassagneux 및 Graham Russell 제공
- 버그 61852 - 결과 트리 보기: 경계 추출기 테스터 추가
- 버그 61794 - Influxdb 백엔드: GUI 백엔드 리스너에서 새 줄을 만들고 이름 앞에 " TAG_ "를 붙여서 원하는 만큼 사용자 정의 태그를 추가합니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 60213 - 새 구성 요소: 경계 기반 추출기
- 버그 61845 - JMeter-Plugins에 기증되고 Artem Fedorov에 의해 JMeter 코어로 마이그레이션된 AtlanBH JSON 경로 어설션을 기반으로 하는 새로운 구성 요소 JSON 어설션(blazemeter.com의 artem)
- 버그 61931 - 새로운 구성 요소: 정확한 처리량 타이머, 주어진 일정한 처리량으로 포아송 도착을 생성하는 타이머. 제공: Vladimir Sitnikov(sitnikov.vladimir at gmail.com)
- 버그 61644 - HTTP 캐시 관리자: "GET 요청을 처리할 때 Cache-Control/Expires 헤더 사용"이 기본적으로 선택되어 있어야 합니다.
- 버그 61645 - 응답 어설션: 요청 데이터에 대해 어설션하는 기능 추가
- 버그 51140 - 응답 어설션: 나중에 어설션 결과에 표시되는 특정 오류/실패 메시지를 설정하는 기능을 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61534 - AssertionError를 실패한 주장으로 변환하여 사용자가 코드에서 주장을 사용할 수 있도록 합니다. 3.2에 도입된 회귀 수정
- 버그 61756 - 추출기: 레이블 이름 "참조 이름"을 개선하여 그것이 무엇을 만드는지 명확하게 합니다.
- 버그 61758 - 적용 대상: 추출기의 필드, 주장: JMeter 변수 이름 에 값을 입력할 때 라디오 상자 JMeter 변수 이름 이 기본적으로 선택되어야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61846 - 범위 지정 어설션은 포스트 프로세서와 동일한 평가 순서를 따라야 합니다.
기능
- 버그 61724 - __digest 함수를 추가하여 해시(SHA-XXX, MDX) 계산을 제공합니다. gmail.com에서 orimarko의 기여를 기반으로 합니다.
- 버그 61735 - __dateTimeConvert 함수를 추가하여 날짜 형식 변환을 제공합니다. gmail.com에서 orimarko의 기여를 기반으로 합니다.
- 버그 61760 - __isPropDefined 및 __isVarDefined 함수를 추가하여 속성 또는 변수가 있는지 확인합니다. gmail.com의 orimarko 제공
- 버그 61759 - __changeCase 함수를 추가하여 문자열의 다른 대소문자를 변경합니다. gmail.com에서 orimarko의 기여를 기반으로 합니다.
- 버그 61561 - 함수 도우미 대화 상자가 결과에 예외를 표시해야 함
- 버그 61738 - 함수 도우미 대화 상자: 레이블 생성 및 명확화에 복사본 추가. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 62027 - 도움말: 로컬(오프라인) 문서와 온라인 문서 중에서 선택할 수 있도록 help.local 속성 도입
- 버그 61593 - 세부 정보 제거, 추가, 클립보드에서 추가, 기능 도우미 GUI의 삭제 버튼
I18N
- 버그 61606 - 일부 요소(FileEditor 클래스 사용)에서 번역 버튼 찾아보기…
- 버그 61747 - HTTP(S) 테스트 스크립트 레코더: "요청 후 트랜잭션 생성(ms)"에 누락된 문서 추가
보고서/대시보드
- 버그 61871 - jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity 기본값을 500ms에서 100ms로 줄입니다.
- 버그 61879 - HTML 보고서 템플릿에서 불필요한 파일 제거
일반적인
- 버그 61591 - 테스트 트리에서 Workbench를 삭제합니다. Artem Fedorov(blazemeter.com의 artem)에 의해 구현되고 BlazeMeter Ltd에 의해 기고되었습니다.
- 버그 61549 - 스레드 그룹: 시작 및 종료 날짜 제거
- 버그 61529 - Java 9로 마이그레이션. 부분적으로 Ubik Load Pack에 의해 기고됨(ubikloadpack.com에서 지원)
- 버그 61709 - SampleResult: JMeter가 SampleResult를 무시하고 리스너에게 보내지 않도록 하는 setIgnore() 메서드 추가
- 버그 61806 - 후처리기 및 어설션 스크립트(JSR223 요소)에서 SampleResult#setIgnore() 사용 허용
- 버그 61607 - BeanShell 스크립트를 선택하기 위해 모든 BeanShell 요소에 찾아보기 버튼 추가
- 버그 61627 - 경고/오류 표시기를 클릭할 때 LogView를 더 이상 지우지 않음
- 버그 61629 - 자식 메뉴에 Think Times 추가는 비활성화된 요소를 고려하지 않아야 함
- 버그 61655 - SampleSender: HoldSampleSender 구현 삭제
- 버그 61656 - 테스트 중지 또는 종료 시 기본적으로 tearDown 스레드 그룹 이 실행되어야 합니다.
- 버그 61659 - JMeterVariables#get() 은 문자열이 아닌 객체에 toString() 을 적용해야 합니다.
- 버그 61555 - 메타 공간이 기본적으로 제한되어야 합니다.
- 버그 61693 - JMeter가 Docker를 인식함( -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap )
- 버그 61694 - jmeter.bat 에 -server 옵션 추가
- 버그 61697 - JMeter UI를 더 매력적으로 만들기 위해 Darcula 모양과 느낌을 도입하십시오.
- 버그 61704 - 도구 모음: 오른쪽 부분을 약간 개선합니다.
- 버그 61731 - 실행하기 전에 저장하는 옵션으로 테스트 계획 백업을 향상시킵니다. gmail.com에서 orimarko의 기여를 기반으로 합니다.
- 버그 61640 - JSR223 테스트 요소: 기본적으로 캐싱을 활성화합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61785 - 문제를 생성하고 야간 빌드를 다운로드하는
- 버그 61808 - 메인 프레임 위치를 수정합니다. Artem Fedorov(blazemeter.com의 artem)에 의해 구현되고 BlazeMeter Ltd에 의해 기고되었습니다.
- 버그 61802 - 루프/ForEach 컨트롤러는 현재 반복에 대한 변수를 노출해야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 풀 리퀘스트 #349 - i18n 리소스(zh_CN)를 추가합니다. 제공: Helly Guo (https://github.com/hellyguo)
- pull request #351 - 첫 번째 보기에서 대화 상자 위치가 수정되었습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 풀 리퀘스트 #352 - 메뉴 바 - 더 많은 메뉴 항목에 니모닉을 추가했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- Pull request #353 - Spock에서 일부 기존 테스트를 다시 작성했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 61919 - UX: 메뉴 재정렬. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 61920 - 플러그인: 테스트 계획 로드/닫기를 수신하는 기능을 추가합니다. 제공: Peter Doornbosch(https://bitbucket.org/pjtr/)
- 버그 61935 - 플러그인: GUI 구성요소가 메뉴를 통해 추가할 수 있는지 여부를 (동적으로) 결정하도록 합니다. 제공: Peter Doornbosch(https://bitbucket.org/pjtr/)
- 버그 61969 - GUI를 통해 LAF를 변경할 때 사용자에게 다시 시작하는 것이 더 낫다고 알려야 합니다.
- 버그 61970 - JMeter는 이제 영어를 기본 로케일로 사용하여 일부 로케일에서 누락된 번역이 UI를 이상하게 보이게 하는 것을 방지합니다.
- 버그 56368 - Maven 중앙에 소스 아티팩트 생성 및 배포
- 버그 61973 - Maven 중앙에 javadoc 아티팩트 생성 및 배포
- pull request #371 - XPath Assertion 문서의 예제 수정 . Konstantin Kalinin 제공(hotmail.com의 kkalinin)
- 버그 62039 - 분산 테스트: SSL 사용 기능 제공
비기능적 변경
- bsh-2.0b6으로 업데이트됨(bsh-2.0b5에서)
- groovy-all-2.4.13으로 업데이트됨(groovy-all-2.4.12에서)
- rhino-1.7.7.2로 업데이트됨(rhino-1.7.7.1에서)
- tika-core 및 tika-parser 1.17로 업데이트됨(1.16에서)
- commons-dbcp2-2.2.0으로 업데이트됨(2.1.1에서)
- 카페인 2.6.1로 업데이트됨(2.5.5에서)
- commons-codec-1.11로 업데이트됨(1.10에서)
- commons-io-2.6으로 업데이트됨(2.5에서)
- commons-lang3-3.7로 업데이트됨(3.6에서)
- commons-pool2-2.5.0으로 업데이트됨(2.4.2에서)
- asm-6.0으로 업데이트됨(5.2에서)
- jsoup-1.11.2로 업데이트됨(1.10.3에서)
- cglib-nodep-3.2.6으로 업데이트됨(3.2.5에서)
- ph-css 6.0.0으로 업데이트됨(5.0.4에서)
- ph-commons 9.0.0으로 업데이트됨(8.6.6에서)
- log4j2 2.10.0으로 업데이트됨(2.8.2에서)
- httpcore 4.4.9로 업데이트됨(4.4.7에서)
- httpclient 4.5.5로 업데이트됨(4.5.3에서)
- jodd 4.1.4로 업데이트됨(3.8.6에서)
- 버그 61642 - FTP 테스트 적용 범위 개선
- 버그 61641 - JMS 테스트 커버리지 개선
- 버그 61651 - TCP 테스트 적용 범위 개선
- 버그 61651 - OS 테스트 범위를 개선합니다. Aleksei Balan(gmail.com의 abalanonline)이 부분적으로 기여했습니다.
- 풀 리퀘스트 #319 - 주석 처리된 코드를 제거했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 풀 리퀘스트 #322 - 일반 JavaDoc 정리. 제공: Graham Russell(ham1.co.uk의 graham)
- Pull request #323 - 가독성을 높이기 위해 추출된 메서드와 스트림을 사용했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 풀 리퀘스트 #324 - 백업 리팩터를 저장합니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 풀 리퀘스트 #327 - 보다 현대적인 Java를 활용하여 코드를 단순화하고 코드 및 주석 형식을 지정합니다. 제공: Graham Russell(ham1.co.uk의 graham)
- pull request #332 - 그루비 단위 테스트를 위한 spock 프레임워크를 추가합니다. 제공: Graham Russell(ham1.co.uk의 graham)
- pull request #334 - 기본 구성을 사용하여 IntelliJ 내에서 JUnit 테스트 실행을 활성화합니다. 제공: Graham Russell(ham1.co.uk의 graham)
- pull request #335 - functions.util.* 이 (수년 동안) 사용되지 않는 것 같아서 제거했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 61867 - 풀 요청 #345 - 최신 검사 스타일(v8.5)로 업데이트, 검사 스타일에 더 많은 규칙 추가, 테스트 파일 및 더 많은 파일 유형 검사 포함. 제공: Graham Russell(ham1.co.uk의 graham)
- 풀 리퀘스트 #350 - 병렬 단위 테스트. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 61966 - 젠킨스에서 테스트 결과 분석기 설정
- pull request #343 - 문서에서 일부 이미지의 크기를 줄입니다. 제공: Graham Russell(ham1.co.uk의 graham)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 61569 - JMS 지점간 테스트 계획: 응답을 넣을 때 동기화 문제. Igor Paninte 제공(gmail.com의 panainte.i)
기타 샘플러
- 버그 61698 - 테스트 작업: 중지가 선택되어 있고 테스트 작업을 따르는 샘플러를 실행할 수 있습니다.
- 버그 61707 - 테스트 작업: 일시 중지를 선택하면 대상이 무시되므로 비활성화해야 합니다.
- 버그 61827 - JMSPublisher: 파일 끝에 새 줄을 추가하지 마십시오. 제공: Graham Russell(ham1.co.uk의 graham)
컨트롤러
- 버그 61556 - 문서 에서 IfController 및 groovy에서 ${} var 사용이 성능에 미치는 영향을 명확히 합니다. Justin McCartney 제공(yahoo.co.uk의 be_strew)
- 버그 61713 - 테스트 조각에 컨트롤러 변경 및 상위 삽입 옵션이 있습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61965 - 모듈 및 포함 컨트롤러는 컨텍스트에 의미 없는 요소를 추가하는 것을 허용해서는 안 됩니다.
- 버그 62062 - ThroughputController: Throughput=0(총 실행 또는 백분율 실행)일 때 트리거되는 StackOverFlowError Artem Fedorov(blazemeter.com의 artem.fedorov)에 의해 부분적으로 구현되고 BlazeMeter Ltd에서 제공했습니다.
청취자
- 버그 61742 - BackendListener: backend_graphite.send_interval 의 기본값 수정
- 버그 61878 - BackendListener: BackendListenerClient#getDefaultParameters가 null을 반환하는 경우 NPE
- 버그 61950 - 결과 트리 보기: 콘텐츠 유형 오디오/mpegurl 이 바이너리로 잘못 간주됨
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 61716 - 헤더 관리자: Firefox 또는 Chrome에서 헤더를 붙여넣을 때 공백이 값의 첫 번째 문자로 도입됨
기능
- 버그 61588 - __RandomDate() 함수 에 대한 더 나은 로그 메시지
- 버그 61619 - 함수 도우미 대화 상자에서 첫 번째 함수가 기본 매개변수를 표시하지 않음
- 버그 61628 - 분할 문자열에 빈 구분 기호가 있는 경우 기본 구분 기호가 사용되지 않습니다.
- 버그 61752 - __RandomDate : 함수에서 변수 이름에 사용된 마지막 매개변수 누락을 허용하지 않습니다.
I18N
보고서/대시보드
- 버그 61807 - 웹 보고서: getTop5ErrorMetrics 의 오류 수정 . 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 61900 - 보고서 생성기: 구분 기호가 다음과 같은 정규식 예약 문자인 경우 보고서 생성이 실패합니다 .
- 버그 61925 - CsvSampleReader는 nextSample()에서 행을 증가시키지 않습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 61956 - 보고서 생성: -forceDeleteResultFile 옵션의 -f 가 작동하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61899 - 보고서 생성: jmeter.save.saveservice.print_field_names 가 false이고 sample_variables 가 설정된 경우 보고서 생성이 실패합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61962 - 대기 시간 대 요청 및 응답 시간 대 요청 그래프가 1000RPS를 초과하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
일반적인
- 버그 61661 - RuntimeException을 발생시키는 타사 스레드 수신기 플러그인 으로 인한 시작/종료 문제 방지
- 버그 61625 - BeanInfo에 사용된 파일 편집기가 CSVDataSet, JSR223, BSF, Beanshell 요소에 영향을 미치는 모든 LAF에서 이상하게 작동합니다.
- 버그 61844 - Maven pom.xml: 테스트에 사용된 라이브러리에는 범위 테스트가 있어야 합니다.
- 버그 61842 - 변경 사항 없이 저장하면 동일한 백업 파일을 저장하고 복제합니다.
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 이고르 파나인테(gmail.com의 panainte.i)
- Emilian Bold(apache.org의 emi)
- 유빅 로드팩
- 저스틴 매카트니(be_strew at yahoo.co.uk)
- Vincent Herilier (https://github.com/vherilier)
- Aleksei Balan(gmail.com의 abalanonline)
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- gmail.com의 orimarko
- Artem Fedorov(blazemeter.com의 artem)
- 블레이즈미터(주)
- Benny van Wijngaarden(smaragd-it.nl의 benny)
- 매튜 버켓 (https://github.com/buckett)
- 헬리 구오 (https://github.com/hellyguo)
- 피터 도어보쉬(https://bitbucket.org/pjtr/)
- Jeremy Arnold(제레미 atrnoldzoo.org)
- Vladimir Sitnikov(gmail.com의 sitnikov.vladimir)
- Konstantin Kalinin(hotmail.com의 kkalinin)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- Stackoverflow의 user7294900(gmail.com의 orimarko)
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 결과 보기 트리는 특히 이 응답에 공백이 없는 경우 큰 응답 렌더링을 중지할 수 있습니다( 버그 60816 참조) . 이것은 공백이 없는 긴 텍스트로 JEditorPane.setText() 또는 JTextArea.setText() 를 호출할 때 식별된 Java 버그 UI가 멈 췄기 때문 입니다.
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 3.3
요약
새롭고 주목할만한
핵심 개선 사항
HTTP 샘플러는 이제 Brotli 압축 해제를 지원합니다.
CacheManager는 이제 Vary 헤더를 완전히 지원합니다.
InfluxDB BackendListener는 이제 UDP 프로토콜을 통해 InfluxDB로 결과 보내기를 지원합니다.
또한 각 트랜잭션에 대한 응답 코드 및 메시지별로 오류 개수를 전송하도록 개선되었습니다.이제 TCP 샘플러가 지연 시간을 계산합니다. 버그 60156 참조
성능 향상 및 버그 수정을 제공하는 마지막 사용 가능한 버전으로 업그레이드된 종속성
코드 및 테스트 범위의 품질을 지속적으로 개선했습니다. 품질 보고서 보기
UX 개선
HiDPI를 더 잘 지원하기 위해 더 많은 작업이 수행되었습니다.
View Results Tree의 메모리 사용량을 낮추는 작업과 함께 잠입한 일부 버그가 수정되었습니다.
상수 DEFAULT_IMPLEMENTATION 은 마지막 릴리스에서 대체 HTTP 클라이언트 구현이 제거되면서 목적을 잃어버렸기 때문에 CookieManager에서 제거되었습니다.
JDBC Sampler UX는 드라이버 및 유효성 검사 쿼리에 대한 선택 상자를 추가하여 개선되었습니다.
Controller 및 While Controller UX가 개선된 경우
보고서/대시보드 개선 사항
보고서 생성 구성을 단순화하기 위해 새로운 도움말 메뉴 항목이 추가되었습니다.문서 개선 사항
불분명한 문서에 대한 통합된 피드백.기능
함수 도우미 대화 상자: 실행 결과를 보여주는 새로운 필드가 추가되었습니다.
새로운 기능:
- __timeShift - 지정된 초/분/시/일이 추가된 다양한 형식의 날짜를 반환합니다.
- __RandomDate - 특정 날짜 범위 내에서 임의의 날짜를 생성합니다.
호환되지 않는 변경 사항
- InfluxDbBackendListenerClient에서 statut 속성의 이름이 status 로 변경되었습니다.
- CookieManager에서 DEFAULT_POLICY 및 DEFAULT_IMPLEMENTATION 상수는 이제 비공개입니다.
HC3CookieHandler (< JMeter 3.1) 구성과 함께 무시 쿠키를 사용하는 경우 구성이 재설정됩니다. 다시 설정해야 합니다.
- JMeter는 10MB를 초과하는 기본 응답으로 더 이상 자르지 않습니다. 이 잘림을 활성화하려면 httpsampler.max_bytes_to_store_per_request 속성을 참조하십시오.
- org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream) 가 더 이상 사용되지 않거나 org.apache.jmeter.protocol.tcp.sampler.TCPClient.read(InputStream, SampleResult) 구현을 업데이트해야 합니다. 지연 시간을 계산하려면 버그 60156 을 참조하세요.
제거된 요소 또는 기능
- _StringFromFile 함수가 삭제되었습니다. 대신 __StringFromFile 을 사용하세요.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 61056 - HTTP: brotli 디코딩 지원
- 버그 61135 - CookieManager: 구현 선택 상자 및 정리 클래스 삭제
- 버그 61492 - HTTP(S) 테스트 스크립트 레코더: GUI에서 proxy.pause 값을 변경할 수 있는 가능성 추가
기타 샘플러
- 버그 61320 - 테스트 작업: 기본적으로 지속 시간을 0 으로 설정합니다.
- 버그 61504 - JDBC 연결 구성: 기본적으로 최대 연결 수를 0 으로 설정합니다.
- 버그 61505 - JDBC 연결 구성: JDBC 드라이버의 isValid 메서드 를 사용하려면 기본적으로 "검증 쿼리"를 비어 있도록 설정합니다.
- 버그 61506 - JDBC 연결 구성: "검증 쿼리" 속성에 대한 기본 데이터베이스 검증 쿼리 목록 추가
- 버그 61507 - JDBC 연결 구성: "JDBC 드라이버 클래스" 속성에 대한 기본 데이터베이스 JDBC 드라이버 클래스 이름에 대한 목록 추가
- 버그 61525 - OS 프로세스 샘플러: 명령 및 작업 디렉토리 필드에 브라우저 버튼 추가
- 버그 60156 - TCPSampler: TCP 샘플러에 대해 대기 시간이 측정되지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61039 - CSV 데이터 세트 구성: 파일 이름 필드에 브라우저 버튼 추가
- 버그 61527 - CSV 데이터 세트 구성: 파일 인코딩 속성에 대한 기본 파일 인코딩 값 목록 추가
컨트롤러
- 버그 61131 - IfController 및 WhileController: UX 개선
청취자
- 버그 61167 - InfluxdbBackendListener: 각 트랜잭션에 대한 응답 코드 및 메시지별로 오류 수 추가
- 버그 61068 - 테스트를 시작할 때 "파일이 이미 존재함" 팝업을 제어하는 속성 resultcollector.action_if_file_exists 도입
- 버그 61457 - InfluxDB 백엔드 리스너 클라이언트: UDP 프로토콜을 통해 InfluxDB로 결과 전송을 지원합니다. 부분적으로 Pull request #302 기반 - Junlong Wu 작성(github id mybreeze77)
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 61176 - pull 요청 #298 - CacheManager 에 다양한 헤더가 있는 캐시 응답 .
기능
- 버그 61040 - 시간 이동 기능 추가
- 버그 61126 - 함수 도우미 대화 상자: 실행 결과를 표시하는 필드 추가
- 버그 61508 - 특정 날짜 범위 함수 내에서 임의의 날짜 추가
I18N
- 버그 61509 - 레이블 시작 및 최대 카운터 요소에 대한 레이블/번역/문서 개선
보고서/대시보드
- 버그 61481 - 웹 보고서에 대한 트랜잭션 내보내기를 위한 도움말 메뉴 항목
일반적인
- ActionRouter 에서 클래스를 찾을 때 ActionRouter 가 로드되는 jar 위치로 폴백합니다. Emilian Bold 제공(apache.org의 emi)
- 버그 61510 - 'JDBC 부하 테스트 템플릿'에 대한 'JDBC 연결 구성'에서 '최대 연결 수'를 0 으로 설정
- 버그 61399 - 일부 bin 및 추가 스크립트를 Shellcheck와 호환되도록 합니다. Wolfgang Wagner 제공(hotmail.com의 internetwolf2000)
비기능적 변경
- Groovy 2.4.12로 업데이트됨(2.4.10에서)
- 카페인 2.5.5로 업데이트됨(2.4.0에서)
- commons-jexl3 3.1로 업데이트됨(3.0에서)
- ph-css 5.0.4로 업데이트됨(5.0.3에서)
- ph-commons 8.6.6으로 업데이트됨(8.6.0에서)
- log4j2 2.8.2로 업데이트됨(2.8.1에서)
- xmlgraphics-commons 2.2로 업데이트됨(2.1에서)
- jodd 3.8.6으로 업데이트됨(3.8.1에서)
- xstream 1.4.10으로 업데이트됨(1.4.9에서)
- Apache Tika 1.16으로 업데이트됨(1.14에서)
- jsoup-1.10.3으로 업데이트됨(1.10.2에서)
- commons-lang3 3.6으로 업데이트됨(3.5에서)
- json-path 2.4.0으로 업데이트됨(2.2.0에서)
- httpcore 4.4.7로 업데이트됨(4.4.6에서)
- 버그 61438 - 패키지의 암호화 서명을 sha-1에서 sha-512로 변경
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
-
버그 61384 - multipart/form-data 헤더
를 묶을 때 문자 집합을 설정하지 마십시오 . 일부 서버를 짜증나게 합니다.
charset은 http 클라이언트의 최신 API를 사용하도록 리팩토링하는 동안 언젠가 추가되었습니다. 자세한 내용은 버그 56141 을 참조하세요. - 버그 61456 - JMeter 및 이상한 기본 인증 승인 헤더로 기록할 때 java.lang.ArrayIndexOutOfBoundsException 이 발생함
- 버그 61395 - 대규모 서버 응답 잘림이 녹음에 영향을 줄 수 있음
기타 샘플러
- 버그 60889 - 응답 헤더에 대한 Connection#toString 호출 로 인해 MySQL JDBC로 테스트할 때 JMeter JDBC 샘플이 SELECT USER() 를 호출합니다.
- 버그 61259 - JDBC 요청: JMeter 3.0부터 JDBC 자동 커밋이 false 이면 요청이 실행될 때마다 롤백 문이 발생합니다. Liu XP(sina.com의 liu_xp2003)가 부분적으로 기여했습니다.
- 버그 61319 - 회귀 수정: 첨부 파일이 지정되지 않은 경우 SMTP 샘플러가 메일을 보낼 수 없습니다.
컨트롤러
- 버그 61375 - 정적 호스트 테이블의 항목을 확인할 때 최후의 수단으로 시스템 DNS 확인자를 사용하십시오.
청취자
- 버그 61005 - 결과 트리 보기 - 브라우저 응답 데이터가 지워지지 않음
- 버그 61121 - InfluxdbBackendListenerClient: KO 및 OK 가 아닌 모든 백분위수만 전송됩니다.
- 버그 60961 - 새 요소가 추가될 때 결과 트리 보기에서 선택 및 확장된 요소의 상태를 유지하려고 합니다.
- 버그 61198 - 포함된 스크립트에 백엔드 리스너도 포함된 경우 백엔드 리스너가 기본 스크립트에서 제대로 작동하지 않습니다.
- 버그 61493 - 최대/최소 스레드가 Graphite 및 InfluxDB 백엔드 리스너에서 교환됨
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 58743 - pull request #293 - 두 개 이상의 인스턴스를 사용할 때 TableEditor를 저장할 수 없습니다. Emilian Bold에서 제공하는 버그 수정(apache.org의 emi)
- 버그 61314 - HTTP URL 재작성 수정자가 http 샘플러의 기존 jsessionid 를 대체하지 않고 끝에 추가합니다.
- 버그 61336 - BeanShell 어설션: 중국어 번역 오류
기능
- 버그 61258 - StringFromFile 함수가 함수 도우미 대화 상자에서 두 번 언급됨
- 버그 61260 - XPath 검사기가 일치 항목을 찾았음에도 __XPath 함수가 null을 반환 함
- 버그 58876 - TestPlanName 함수는 새로 저장된 테스트 계획에 대해 null 을 반환하고 새 계획에 대해 이전에 열린 테스트 계획을 사용합니다.
I18N
보고서/대시보드
- 버그 61129 - 보고서/대시보드: 응답 코드가 비어 있지만 failureMessage 가 있는 경우 오류 및 상위 5개 오류가 정확하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 61151 - 보고서/대시보드: 샘플러별 상위 5개 오류 및 오류: 주장에 html 코드가 포함되어 있으면 html 부분이 숨겨집니다.
일반적인
- 버그 60743 - 테스트를 중지/종료하면 4.4.7로 HttpCore 업그레이드로 수정된 HTTPCORE-446으로 인해 교착 상태가 발생할 수 있음
- 버그 60994 - 주석 또는 로그 메시지의 일부 오타를 수정합니다. 풀 리퀘스트 #289 , 풀 리퀘스트 #290 -
- 버그 61011 - 교체 발생 횟수가 올바르지 않음(경로 및 호스트 교체가 두 번 계산됨)
- 버그 61026 - "keytool" 프로그램을 실행할 수 없음: GUI 모드에서 JMeter 3.2를 시작할 때 CreateProcess 오류=2
- 버그 61054 - 정규식이 교체에 포함된 경우 JOrphanUtils#replaceAllWithRegex 의 무한 루프
- 버그 60995 - HTTP 테스트 스크립트 레코더: 일부 L&F에서 포트 필드가 매우 작습니다.
- 버그 61073 - HTTP(S) 테스트 스크립트 레코더 패널에는 Linux/XWayland에서 HiDPI 화면 또는 GTK+ L&F에서 크기가 잘못된 일부 필드가 있습니다.
- 버그 57958 - 스레드가 중지/재시작되는 경우 생성되지 않는 트랜잭션 샘플을 수정합니다. Artem Fedorov(blazemeter.com의 artem)에 의해 구현되고 BlazeMeter Ltd에 의해 기고되었습니다.
- 버그 61050 - JMeterUtils#getResString 을 호출할 때 초기화되지 않은 RessourceBundle을 보다 우아하게 처리 합니다.
- 버그 61100 - Windows에서 잘못된 GC 로그 파일 이름
- 버그 57962 - 작업자 노드 모드의 모든 수신기에서 변수(사용자 정의 변수에서만) 사용 허용
- 버그 61270 - 텍스트 영역에서 글꼴이 너무 작아 HiDPI에서 읽을 수 없는 고정 너비 글꼴(사용자 설명서 버그)
- 버그 61292 - 리포터에서 샘플을 보다 강력하게 처리합니다.
- 버그 61359 - 트리에서 요소를 잘라낼 때 테스트 계획이 더티로 표시되지 않음
- 버그 61380 - 타이머를 사용한 JMeter 종료가 중단된 샘플러 무리를 해제 함
- 버그 57055 - CheckDirty.doAction은 SUB_TREE_SAVED에 대한 이전 GuiItems 를 지워야 합니다.
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- Anass Benomar(umanis.com의 abenomar, github의 Mithrandir0407)
- Anthony Kearns(anthony.kearns atrightside.co)
- Emilian Bold(apache.org의 emi)
- Liu XP(sina.com의 liu_xp2003)
- 유빅 로드팩
- Wolfgang Wagner(hotmail.com의 internetwolf2000)
- Junlong Wu (github id mybreeze77)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- Liu XP(sina.com의 liu_xp2003)
- Alexander Podelko(yahoo.com의 apodelko)
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 결과 보기 트리는 특히 이 응답에 공백이 없는 경우 큰 응답 렌더링을 중지할 수 있습니다( 버그 60816 참조) . 이것은 공백이 없는 긴 텍스트로 JEditorPane.setText() 또는 JTextArea.setText() 를 호출할 때 식별된 Java 버그 UI가 멈 췄기 때문 입니다.
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2를 사용하는 서명 알고리즘(예: md2WithRSAEncryption ) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우 . 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 Java 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 3.2
요약
새롭고 주목할만한
중요 변경 사항
JMeter에는 이제 Java 8이 필요합니다. 최신 버전을 사용하고 있는지 확인하십시오.
JMeter 로깅이 SLF4J 및 Log4j 2로 마이그레이션되었습니다. 이는 구성 및 타사 플러그인에 영향을 미칩니다 . 아래의 "변경 사항 로깅" 을 참조하십시오 .
JMeter 버전 3.2부터 View Results Tree의 결과 수는 기본적으로 500개 항목으로 제한됩니다. 더 많은 항목을 원하면 view.results.tree.max_results 속성 을 더 높은 값으로 설정하거나 제한을 부과하지 않으려면 0 으로 설정해야 합니다. bin/user.properties에서 속성을 설정할 수 있습니다. 더 많은 정보는 여기 에서 찾을 수 있습니다 .
핵심 개선 사항
- JMeter는 이제 InfluxDB를 인터페이스하는 새로운 BackendListener 구현을 제공합니다. 이 구현은 HTTP API 를 통해 InfluxDB에 비동기 HTTP 호출을 사용하여 데이터를 보내고 주석이 있는 다음 그래프를 제공합니다.
- 이제 DNS 캐시 관리자에 정적 호스트 확인을 허용하는 테이블이 있습니다.
- JMS 게시자 및 구독자는 이제 일시 중지와 함께 오류 발생 시 재연결을 허용합니다.
- JMS Publisher의 변수는 이제 모든 유형의 메시지에 대해 지원됩니다. 콘텐츠를 구문 분석할 파일의 인코딩 유형 추가
- XPath Extractor는 이제 인덱스별로 또는 모든 일치 항목에 대해 무작위로 추출할 수 있습니다.
- 응답 어설션은 이제 요청 헤더에서 작업할 수 있으며 "OR" 조합을 제공하며 더 나은 셀 렌더러를 제공합니다.
- JMeter는 이제 Rhino 대신 Oracle Nashorn Javascript 엔진을 사용합니다. 이것은 자바스크립트의 더 빠른 실행을 제공합니다.
- HTTP HC4 구현은 이제 기본적으로 활성화된 선점형 기본 인증을 제공합니다.
- CSS에 포함된 리소스 다운로드가 리소스를 찾기 위한 불필요한 반복적인 구문 분석을 방지하도록 개선되었습니다.
- Sonar가 프로젝트에 설정된 이후 테스트를 통한 코드 품질 및 코드 적용에 대한 중요한 작업이 수행되었습니다. 여기에서 소나 보고서를 볼 수 있습니다 .
UX 개선
- 테스트를 실행할 때 리스너가 보유하는 샘플 결과 수의 제한과 GUI 업데이트 방식의 재작업 덕분에 이제 GUI의 응답성이 향상되고 메모리 사용에 미치는 영향이 줄어듭니다.
- HTTP 요청 GUI가 단순화되었으며 매개변수와 본문을 위한 더 많은 공간을 제공합니다.
- HTTP(S) 테스트 스크립트 레코더가 단순화되고 명확해졌습니다.
- 일부 요소를 대체할 수 있도록 대체 기능이 검색 기능 에 추가되었습니다.
ReplaceAll은 모든 요소에 대해 교체를 수행하지 않고 다음에서 수행합니다.
- HeaderManager: 값의 교체
- Http 요청: 인수, 경로 및 호스트의 교체
- 결과 보기 트리는 이제 JavaFX가 필요한 최신 브라우저 렌더러를 제공합니다.
- 이제 컨텍스트 메뉴를 통해 대기 시간을 추가할 수 있습니다. 그러면 샘플러와 선택한 노드의 트랜잭션 컨트롤러 사이에 대기 시간이 추가됩니다.
- 이제 트랜잭션 컨트롤러의 자식에 이름 지정 정책을 적용할 수 있습니다. 기본 정책이 존재하지만 org.apache.jmeter.gui.action.TreeNodeNamingPolicy 및 구성 속성 Naming_policy.impl 을 통해 고유한 정책을 구현할 수 있습니다 .
- 테이블, 요약 보고서, 집계 보고서 및 집계 그래프 요소에서 결과 보기에 열별 정렬이 추가되었습니다.
보고서/대시보드 개선 사항
- 보고서를 명확히 하기 위해 통계가 재구성되었습니다.
-
이제 정규 표현식 또는 샘플 이름을 기반으로 트랜잭션당 APDEX 임계값을 사용자 정의할 수 있습니다. 아래 예제는 선언된 기본 임계값(충족 및 허용 임계값에 대해 500 및 1500)과 샘플 sample(\\d+), sampleA 및 시나리오B에 대해 다른 임계값을 적용합니다.
jmeter.reportgenerator.apdex_satisfied_threshold=500 jmeter.reportgenerator.apdex_tolerated_threshold=1500 jmeter.reportgenerator.apdex_per_transaction=샘플(\\d+):1000|2000;\ 샘플A:3000|4000;\ 시나리오B:5000|6000
문서 개선 사항
- PDF 문서가 HTML 사용자 매뉴얼로 마이그레이션 및 업데이트되었습니다.
호환되지 않는 변경 사항
- JMeter를 실행하려면 이제 최소한 Java 8 버전이 필요합니다.
- JMeter 로깅이 SLF4J 및 Log4j 2로 마이그레이션되었습니다. 여기에는 구성이 수행되는 방식이 변경됩니다. JMeter는 이제 log4j2.xml 파일의 표준 Log4j 2 구성 에 의존합니다. 자세한 내용은 아래의 변경 사항 로깅 섹션을 참조 하십시오.
- LogKit에서 SLF4J로 마이그레이션한 후 다음 jar가 제거되었습니다(
버그 60589 참조 ).
- ApacheJMeter_slf4j_logkit.jar
- avalon-framework-4.1.4.jar
- commons-logging-1.2.jar
- 엑스칼리버-로거-1.1.jar
- 로그킷-2.0.jar
- commons-httpclient-3.1.jar 는 HC3.1 지원이 중단된 후 제거되었습니다( 버그 60727 참조 ).
- JMeter는 이제 -Djava.security.egd=file:/dev/urandom 을 통해 안전한 무작위 알고리즘을 설정합니다.
- 프로세스 샘플러는 이제 오류가 발생하면 오류 코드 500을 반환합니다. 이전에는 빈 값을 반환했습니다.
- org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl 에서 두 개의 보호된 정적 필드( localhost 및 nonProxyHostSuffixSize )가 정적 필드 명명 규칙을 따르기 위해 ( LOCALHOST 및 NON_PROXY_HOST_SUFFIX_SIZE ) 이름이 변경되었습니다.
- JMeter는 이제 더 나은 성능을 위해 기본적으로 Mozilla Rhino 대신 Oracle Nashorn 엔진을 사용합니다. 일부 고급 기능을 사용하지 않는 한 영향을 미치지 않습니다. javascript.use_rhino=true 속성을 설정하여 Rhino로 다시 되돌릴 수 있습니다 . Nashorn에 대한 자세한 내용은 이 마이그레이션 가이드 를 참조하세요. 버그 60672 참조
- 버그 60729 - 무작위 변수 구성 요소는 이제 최소==최대를 허용합니다. 이전 버전은 minimum==maximum일 때 오류를 기록했고 구성된 변수를 설정하지 않았습니다.
- 버그 60730 - JSON 경로가 한 번만 일치하더라도 JSON PostProcessor는 이제 _ALL 변수를 설정합니다( Compute concatenation var 가 확인되었다고 가정). 이 경우 이전 버전에서는 _ALL 변수를 설정하지 않았습니다.
제거된 요소 또는 기능
- SOAP/XML-RPC 요청은 버그 60727 의 일부로 제거되었습니다 . HTTP 요청 요소를 대체물로 사용하십시오. WebService 테스트 계획 구축을 참조하십시오 .
- 버그 60423 - 모니터 결과 수신기 삭제
- 더 이상 사용되지 않는 클래스 org.apache.jmeter.protocol.system.NativeCommand 삭제
- 더 이상 사용되지 않는 클래스 org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui 삭제
- 더 이상 사용되지 않는 클래스 org.apache.jmeter.testelement.TestListener 삭제
- 더 이상 사용되지 않는 클래스 org.apache.jmeter.reporters.FileReporter 삭제
- 더 이상 사용되지 않는 클래스 org.apache.jmeter.protocol.http.modifier.UserSequence 삭제
- 더 이상 사용되지 않는 클래스 org.apache.jmeter.protocol.http.parser.HTMLParseError 삭제
- 사용하지 않는 메소드 org.apache.jmeter.protocol.http.control.HeaderManager#getSOAPHeader 및 org.apache.jmeter.protocol.http.control.HeaderManager#setSOAPHeader(Object) 삭제
- org.apache.jmeter.protocol.http.util.Base64Encode 는 더 이상 사용되지 않습니다. java.util.Base64 를 대체품으로 사용할 수 있습니다 .
변경 사항 로깅
JMeter 로깅이 SLF4J 및 Log4j 2로 마이그레이션되었습니다. 이는 로깅 구성 및 타사 플러그인(JMeter 로깅을 사용하는 경우)에 영향을 미칩니다. 다음 섹션에서는 변경해야 할 사항에 대해 설명합니다.
로깅 수준 및 로그 파일 설정
기본 로깅 수준은 -L 매개변수 를 사용하여 명령줄에서 변경할 수 있습니다 . 마찬가지로 -l 매개변수를 사용하여 로그 파일의 이름을 변경할 수 있습니다. 그러나 log_level 속성은 더 이상 작동하지 않습니다.
기본 로깅 수준 및 파일 이름은 시작 디렉터리(일반적으로 JMETER_HOME/bin ) 의 log4j2.xml 구성 파일에 정의되어 있습니다.
org.apache.logging.log4j.core.config.Configurator 가져오기; ⋮ 최종 문자열 loggerName = te.getClass().getName(); // te는 JMeter 클래스임 Configurator.setAllLevels(loggerName, Level.DEBUG);
타사 플러그인 로깅 에 대한 변경 사항
org.apache.jorphan.logging.LoggingManager 가져오기; org.apache.log.Logger 가져오기; ⋮ 개인 정적 최종 로거 로그 = LoggingManager.getLoggerForClass();에 의해:
org.slf4j.Logger 가져오기; org.slf4j.LoggerFactory 가져오기; ⋮ 개인 정적 최종 로거 로그 = LoggerFactory.getLogger(YourClassName.class);
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 59934 - CssParser에서 경쟁 조건을 수정합니다. Jerome Loisel의 패치 기반(gmail.com의 loisel.jerome)
- 버그 60543 - HTTP 요청/Http 요청 기본값 UX: 고급 패널 시간 초과, 구현, 프록시로 이동합니다. Philippe Mouawad(ubik-ingenierie.com의 p.mouawad)가 구현하고 Ubik Load Pack(ubikloadpack.com의 지원)이 기고했습니다.
- 버그 60548 - HTTP 요청: 상단 패널이 축소되도록 허용
- 버그 57242 - HTTP 인증이 HttpClient4로 미리 설정되지 않았습니다.
- 버그 60727 - commons-httpclient-3.1 및 관련 요소를 삭제합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60790 - HTTP(S) 테스트 스크립트 레코더: 인증서 만료에 대한 정보를 개선하고 시작/중지용 UX를 개선했습니다.
- 버그 60888 - HttpRequest: NON Idempotent HTTP 메서드를 포함한 모든 요청의 재시도를 허용하는 옵션 추가
- 버그 60896 - HTTP(S) 테스트 스크립트 레코더: 화면의 속성 수를 줄여 UX 개선
기타 샘플러
- 버그 60740 - 모든 JMS 메시지(바이트, 객체, …) 및 소스(파일, 폴더)에 대한 지원 변수, pull 요청 #241 - . Maxime Chassagneux(gmail.com의 maxime.chassagneux) 제공.
- 버그 60585 - JMS 게시자 및 JMS 구독자: 오류 발생 시 재연결을 허용하고 오류 사이에 일시 중지합니다. 끌어오기 요청 #240 - Logan Mauzaize(gmail.com의 logan.mauzaize) 및 Maxime Chassagneux(gmail.com의 maxime.chassagneux) 기반 .
- 풀 리퀘스트 #259 - - SmtpSampler를 리팩토링하고 다시 포맷했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
컨트롤러
- 버그 60672 - JavaScript 기능 / IfController : 기본적으로 Nashorn 엔진을 사용합니다.
청취자
- 버그 60144 - 결과 트리 보기: 최신 브라우저 렌더러를 추가하여 이전 렌더를 대체합니다.
- 버그 60542 - 결과 트리 보기: 상단 패널이 축소되도록 허용합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 52962 - 테이블, 요약 보고서, 집계 보고서 및 집계 그래프의 결과 보기에 대한 열별 정렬을 허용합니다. 끌어오기 요청 #245 - Logan Mauzaize(gmail.com의 logan.mauzaize) 및 Maxime Chassagneux(gmail.com의 maxime.chassagneux) 기반 .
- 버그 60590 - BackendListener: JMeter에 Influxdb BackendListenerClient 구현을 추가합니다. 부분적으로는 끌어오기 요청 #246 - Logan Mauzaize(gmail.com의 logan.mauzaize) 및 Maxime Chassagneux(gmail.com의 maxime.chassagneux)에 기반합니다.
- 버그 60591 - BackendListener: 시간 상자 샘플링을 추가합니다. 끌어오기 요청 #237 기반 - Logan Mauzaize(gmail.com의 logan.mauzaize) 및 Maxime Chassagneux(gmail.com의 maxime.chassagneux).
- 버그 60678 - 결과 트리 보기: 텍스트 렌더러, 검색에서 "텍스트를 찾을 수 없음"이 팝업되지 않아야 함
- 버그 60691 - 결과 트리 보기: 렌더러(XPath, JSON Path Tester, RegExp Tester 및 CSS/JQuery Tester)에서 위쪽 패널이 너무 커서 크기를 조정할 수 없기 때문에 때때로 아래쪽 패널이 표시되지 않습니다.
- 버그 60687 - 이벤트가 많을 때 GUI의 응답성을 높입니다.
- 버그 60791 - 결과 트리 보기: 검색 기능의 Enter 키에서 검색을 트리거하고 일치하는 항목이 없으면 빨간색 배경을 표시합니다.
- 버그 60822 - ResultCollector는 파일 HashMap에서 고유한 파일 이름 항목을 보장하지 않습니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 60154 - 사용자 매개변수 GUI: 목록에서 행을 위아래로 이동할 수 있습니다. Murdecai777(https://github.com/Murdecai777) 제공.
- 버그 60507 - ResponseAssertion에 ' 또는 ' 기능이 추가되었습니다. 忻隆(qq.com의 298015902)의 기여를 기반으로 합니다.
- 버그 58943 - 더 나은 생각 시간 경험을 만듭니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60602 - XPath Extractor: 인덱스 또는 모든 일치 항목별로 무작위로 추출할 수 있도록 일치 번호를 추가합니다.
- 버그 60710 - XPath 추출기: 어설션이 적용되는 콘텐츠가 XML이 아닌 경우 결과 트리 보기에서 추출기가 빨간색으로 표시되고 SAXParseException이라는 이름이 지정됩니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60712 - 응답 어설션: 패턴 렌더러 개선
- 버그 59174 - 정적 호스트가 있는 테이블을 DNS 캐시 관리자에 추가합니다. 이것은 HttpClient4로 더 나은 가상 호스트 테스트를 가능하게 합니다.
기능
- 버그 60883 - pull 요청 #288 - - ${__escapeXml()} 함수를 추가합니다. 제공: Michael Osipov(apache.org의 michaelo)
I18N
- 프랑스어 로 " save_as " 번역을 개선 합니다. Maxime Chassagneux(gmail.com의 maxime.chassagneux) 의 pull 요청 #252 를 기반으로 합니다 .
- 버그 60785 - 일본어 번역 개선. 기모노 패치(gmail.com의 kimono.outfit.am).
보고서/대시보드
- 버그 60637 - 통계 테이블 디자인 개선
- 버그 60112 - 보고서/대시보드: 트랜잭션 이름별로 APDEX 임계값을 사용자 정의하는 기능을 추가합니다. 제공: Stephane Leplus(ubik-ingenierie.com의 s.leplus)
일반적인
- 버그 58164 - 로드 테스트를 시작하기 전에 ResultCollector 수신기에 파일이 이미 있는지 확인하십시오.
- 버그 54525 - 검색 기능: 대체 기능으로 향상
- 버그 60530 - 테스트가 실행되는 동안 JMeter 스레드를 생성하는 API를 추가합니다. Logan Mauzaize(gmail.com의 logan.mauzaize) 및 Maxime Chassagneux(gmail.com의 maxime.chassagneux)의 기여를 기반으로 합니다.
- 버그 60514 - 트랜잭션 컨트롤러의 자식에 명명 규칙을 적용하는 기능. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60711 - 어설션/헤더 관리자/사용자 매개변수 GUI에 대한 삭제 버튼 동작 개선/제외, HTTP(S) 테스트 스크립트 레코더에 포함
- 버그 60593 - G1 GC 알고리즘으로 전환
- 버그 60595 - JMeter GUI 시작 시 SplashScreen을 추가합니다. Maxime Chassagneux(gmail.com의 maxime.chassagneux) 제공.
- 버그 55258 - 도구 모음에서 "닫기" 아이콘을 삭제하고 메뉴에 "새로 만들기"를 추가합니다. 부분적으로 Sanduni Kanishka(https://github.com/SanduniKanishka)의 기여를 기반으로 합니다.
- 버그 59995 - 사용자가 두 개의 새 메뉴 항목으로 글꼴 크기를 변경하고 글꼴 크기 조정을 위해 jmeter.hidpi.scale.factor 를 사용할 수 있습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60654 - 유효성 검사 기능: BackendListener를 무시할 수 있습니다. Maxime Chassagneux(gmail.com의 maxime.chassagneux) 제공.
- 버그 60646 - Workbench: 기본적으로 저장합니다.
- 버그 60684 - 스레드 그룹: 유효성 검사가 0 또는 매우 짧은 기간으로 스케줄러에 의해 조기에 종료되었습니다. Andrew Burton(gmail.com의 andrewburtonatwh) 제공.
- 버그 60589 - LogKit을 SLF4J로 마이그레이션 - 타사 모듈 에 대한 이전 버전과의 호환성이 있는 Avalon, LogKit 및 Excalibur를 삭제 합니다. 고운산 제공(apache.org의 woonsan)
- 버그 60565 - LogKit을 SLF4J로 마이그레이션 - 로깅 문을 최적화합니다. 예를 들어 메시지 형식 args, throwable args, 간단한 항목에서 불필요한 if-enabled-logging 등. 기고자: Woonsan Ko (woonsan at apache.org)
- 버그 60564 - LogKit을 SLF4J로 마이그레이션 - LogKit 로거를 SLF4J 로거로 교체하고 플러그인과의 역호환성을 위해 현재 LogKit 바인딩 솔루션을 유지합니다. 고운산 제공(apache.org의 woonsan)
- 버그 60664 - UI 메뉴를 추가하여 로그 수준을 설정합니다. 고운산 제공(apache.org의 woonsan)
- pull request #276 - - 폴란드어 로케일에 대한 일부 번역을 추가했습니다. Bartosz Siewniak 제공(gmail.com의 barteksiewniak)
- 버그 60792 - 스레드 덤프를 만들기 위해 새 도움말 메뉴 항목 만들기
- 버그 60813 - JSR223 테스트 요소: JMeterStopTestNowException, JMeterStopTestException 및 JMeterStopThreadException을 고려합니다.
- 버그 60814 - 메뉴: 최근 파일 로드를 더 명확하게 하기 위해 최근 열기 메뉴 항목을 추가합니다.
- 버그 60815 - 메뉴에서 "GUI 재설정" 삭제
- 버그 60886 - 프록시 뒤에 있는 환경에서 빌드를 더 잘 활성화할 수 있도록 빌드가 개선되었습니다. Michael Osipov(apache.org의 michaelo)가 부분적으로 기여했습니다.
비기능적 변경
- 버그 60415 - Java 7에 대한 지원을 중단합니다.
- dnsjava-2.1.8.jar로 업데이트됨(2.1.7에서)
- Groovy 2.4.10으로 업데이트됨(2.4.7에서)
- httpcore 4.4.6으로 업데이트됨(4.4.5에서)
- httpclient 4.5.3으로 업데이트됨(4.5.2에서)
- jodd 3.8.1로 업데이트됨(3.7.1.jar에서)
- jsoup-1.10.2로 업데이트됨(1.10.1에서)
- ph-css 5.0.3으로 업데이트됨(4.1.6에서)
- ph-commons 8.6.0으로 업데이트됨(6.2.4에서)
- slf4j-api 1.7.25로 업데이트됨(1.7.21에서)
- asm 5.2로 업데이트됨(5.1에서)
- rsyntaxtextarea-2.6.1로 업데이트됨(2.6.0에서)
- commons-net-3.6으로 업데이트됨(3.5에서)
- json-smart-2.3으로 업데이트됨(2.2.1에서)
- accessors-smart-1.2로 업데이트됨(1.1에서)
- 이전 pdf 자습서를 xml로 변환했습니다.
- pull request #255 - - 코드를 정리하기 위해 Java 8(및 7) 기능을 활용했습니다. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 59435 - JMeterTestCase가 더 이상 JUnit3을 지원하지 않습니다.
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 60531 - HTTP 쿠키 관리자: 구현을 변경해도 쿠키 정책이 업데이트되지 않음
- 버그 60575 - HTTP GET 요청에 본문이 없는 콘텐츠 유형 헤더가 있을 수 있습니다.
- 버그 60682 - HTTP 요청: 콘텐츠 길이 헤더가 설정되어 있으므로 리디렉션 시 Get 메서드가 실패할 수 있음
- 버그 60643 - HTTP(S) 테스트 스크립트 레코더가 중지 후 다시 시작 또는 시작을 올바르게 처리하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60652 - HTTP PUT 요청에서 파일 설명자가 누출될 수 있습니다.
- 버그 60689 - httpclient4.validate_after_inactivity 가 잠재적으로 부실/닫힌 연결 사용으로 이어지는 영향이 없습니다.
- 버그 60690 - 서로 동일한 "httpclient4.validate_after_inactivity" 및 "httpclient4.time_to_live"의 기본값이 유효성 검사를 쓸모 없게 만듭니다.
- 버그 60758 - HTTP(s) 테스트 스크립트 레코더: 번호 요청이 중복 번호를 생성할 수 있습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 56939 - 매개변수가 OPTIONS HTTP 요청과 함께 전달되지 않음
- 버그 60778 - Http Java Impl이 전송된 경우에도 SampleResult에 Authorization 헤더를 표시하지 않음
- 버그 60837 - 본문이 포함된 GET, httpclient4.retrycount 가 0보다 높은 경우에도 PUT이 재시도되지 않음
- 버그 60842 - Lagarto 기반 HTML 파서를 사용하여 포함된 리소스를 로드할 때 추출된 URL을 자릅니다.
- 버그 60928 - Http 요청: 연결 유지가 포함된 리소스와 함께 사용될 때 연결 누수
기타 샘플러
- 버그 603982 - null 메시지에 대한 JDBCSampler 의 예외 처리기 보호
- 버그 55652 - 클래스를 찾을 수 없는 경우 JavaSampler가 클래스 이름을 자동으로 재설정함
컨트롤러
청취자
- 버그 60648 - 테스트가 매우 짧은 경우 GraphiteBackendListener가 테스트 종료 시 일부 메트릭을 잃을 수 있음
- 버그 60650 - AbstractBackendListenerClient가 실행 사이에 UserMetric을 재설정하지 않음
- 버그 60759 - 결과 트리 보기: 검색 기능이 URL에서 검색되지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60859 - 응답을 파일에 저장: 구성이 다른 2개의 요소가 겹칩니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 60438 - pull request #235 - - JSON Extractor에서 새 변수를 추출하기 전에 이전 변수를 지웁니다. Qi Chen의 패치 기반(ele.me의 qi.chensh)
- 버그 60607 - DNS 캐시 관리자 구성이 무시 됨
- 버그 60729 - 무작위 변수 구성 요소는 최소==최대를 허용해야 합니다.
- 버그 60730 - JSON 경로가 한 번만 일치하더라도 JSON PostProcessor는 _ALL 변수를 설정해야 합니다.
- 버그 60747 - 응답 어설션: 테스트할 필드에 요청 헤더 추가
- 버그 60763 - XMLAssertion이 콘솔에 오류를 누출해서는 안 됩니다.
- 버그 60797 - 일시 중지 모드의 TestAction이 구성된 테스트 기간을 초과하여 지속될 수 있음
기능
- 버그 60819 - __fileToString 함수는 파일을 찾을 수 없을 때 문서 계약을 준수하지 않습니다.
I18N
보고서/대시보드
- 버그 60726 - 보고서/대시보드: 샘플러에 의한 상위 5개 오류는 시리즈 필터링을 고려해서는 안 됩니다.
- 버그 60919 - 보고서/대시보드: 단위가 1000(1초)과 다른 경우 지연 시간 대 요청 및 응답 시간 대 요청이 잘못됨
일반적인
- 버그 60775 - NamePanel ctor가 재정의 가능한 메서드를 호출함
- 버그 60428 - 테스트가 종료되고 useRegexpForSamplersList 가 true 로 설정 되면 JMeter Graphite Backend Listener에서 예외가 발생 합니다 . Liu XP의 패치 기반(sina.com의 liu_xp2003)
- 버그 60442 - build.xml 의 오타 수정 (gavin at 16degrees.com.au)
- 버그 60449 - JMeter 트리: 노드 이름이 비어 있을 때 성가신 동작
- 버그 60494 - 빌드에 소나 분석 작업 추가
- 버그 60501 - 검색 기능: 정규 표현식을 확인할 때 성능 문제
- 버그 60444 - TestHTTPMirrorThread#testSleep() 의 간헐적 실패 . 제공: Thomas Schapitz(online.de의 ts-nospam12)
- 버그 60621 - " report-template " 폴더가 maven 중앙 의 ApacheJMeter_config-3.1.jar 에서 누락되었습니다.
- 버그 60744 - GUI 요소가 테스트 계획 로드 중에 재사용될 때 정리되지 않아 새 테스트 요소에 대한 이전 상태로 부분적으로 초기화될 수 있습니다.
- 버그 60812 - JMeterThread가 JMeterStopTestNowException의 계약을 따르지 않습니다.
- 버그 60857 - _file_encoding이 saveservice.properties에 정의되어 있지 않으면 SaveService가 XML 헤더를 생략합니다.
- 버그 60830 - 스레드 간에 SimpleDateFormatter를 공유하기 때문에 CSV 파일의 타임스탬프가 손상될 수 있음
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- Jerome Loisel(gmail.com의 loisel.jerome)
- Liu XP(sina.com의 liu_xp2003)
- Qi Chen(ele.me의 qi.chensh)
- (gavin at 16degrees.com.au)
- Thomas Schapitz(online.de의 ts-nospam12)
- Murdecai777 (https://github.com/Murdecai777)
- Logan Mauzaize(gmail.com의 logan.mauzaize)
- Maxime Chassagneux(gmail.com의 maxime.chassagneux)
- 忻隆(qq.com에서 298015902)
- 유빅 로드팩
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- 산두니 카니쉬카 (https://github.com/SanduniKanishka)
- Andrew Burton(gmail.com의 andrewburtonathw)
- 고운산(apache.org의 운산)
- Bartosz Siewniak(gmail.com의 barteksiewniak)
- 기모노 (gmail.com의 kimono.outfit.am)
- Michael Osipov(apache.org의 michaelo)
- Stephane Leplus(ubik-ingenierie.com의 s.leplus)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- 버그 60689 및 버그 60690 을 해결하는 데 도움이 되는 많은 유용한 피드백을 제공한 Tuukka Mustonen(gmail.com의 tuukka.mustonen)
- Bug 60682 에 대한 피드백을 제공한 Amar Darisa(gmail.com의 amar.darisa)
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 결과 보기 트리는 특히 이 응답에 공백이 없는 경우 큰 응답 렌더링을 중지할 수 있습니다( 버그 60816 참조) . 이것은 공백이 없는 긴 텍스트로 JEditorPane.setText() 또는 JTextArea.setText()를 호출할 때 식별된 Java 버그 UI가 멈췄기 때문 입니다.
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. -
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2(예: md2WithRSAEncryption)를 사용하는 서명 알고리즘 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우. 이 오류는 Java 8+의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다(그러나 Java 9는 아직 JMeter에 대해 인증되지 않았음을 유의하십시오).
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 JAVA 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 3.1
요약
새롭고 주목할만한
보고서/대시보드 개선
대시보드가 3개의 새로운 그래프와 1개의 요약 표로 개선되었습니다.
- 시간에 따른 연결 시간 그래프:
- 시간 경과에 따른 응답 시간 백분위수(성공적인 응답) 그래프:
- 응답 시간 개요 그래프:
- 샘플러 테이블별 상위 5개 오류:
- 오류 테이블의 오류에 대한 자세한 내용
- 통계 테이블에 추가된 평균 응답 시간:
- 활성 스레드 테이블은 이제 스레드를 스택합니다.
새로운 측정항목
서버로 전송된 바이트를 보고 하는 새로운 sent_bytes 메트릭이 도입되었습니다.
이 버전에서는 다른 메트릭 connect_time 이 기본적으로 활성화되어 있습니다.
큰 응답 처리
JMeter는 이제 2GB보다 큰 메트릭 응답 측면에서 처리할 수 있으며 제한이 9223372TB로 증가했습니다.
이러한 큰 응답을 처리하기 위해 이제 응답의 일부를 잘라 메모리 과부하를 방지할 수도 있습니다. httpsampler.max_bytes_to_store_per_request 속성을
참조 하세요.
새로운 __groovy 함수
Groovy 기능을 활성화 하는 새로운 기능 __groovy 를 소개합니다. 고도의 동시 테스트 계획에서 JavaScript를 사용할 때 JavaScript가 매우 느릴 수 있으므로(BeanShell과 동일) 이것은 편리할 수 있습니다.
JSR-223 요소의 기본값으로 Groovy 사용
Groovy는 이제 JSR-223 요소의 기본 언어로 설정됩니다. 지원되는 다른 언어를 사용하려면 명시적으로 선택해야 합니다.
결과 트리 보기의 형식이 지정된 HTML 소스 보기
이제 결과 트리 보기의 HTML 소스 코드를 형식으로 볼 수 있습니다. 이것은 웹 페이지의 코드에서 불필요한 공백을 모두 제거한 경우 매우 유용합니다.
테스트 계획의 모든 타이머를 새 속성으로 업데이트하는 기능
새로운 속성 timer.factor=1.0f 가 도입되어 Gaussian, Uniform 및 Poisson Timer로 계산된 일시 중지 시간을 곱할 수 있습니다. 이를 통해 한 곳에서 Think Times를 업데이트하고 생산성을 높일 수 있습니다.
핵심 개선 사항
- 다양한 GUI 및 UX 수정
- 메모리 사용량 개선
- 이제 JDBC 요청이 Blob/Clob을 반환하고 대기 시간 및 연결 시간을 계산할 수 있습니다.
- 3.0에 도입된 CSS 파싱은 파싱 캐시를 도입하여 최적화되었습니다.
- HTTP 요청은 이제 GET 요청의 본문을 처리할 수 있습니다. 이는 예를 들어 Elastic Search 요청에 유용합니다.
문서 개선 사항
- 보다 쉬운 시작을 위한 문서 검토 및 개선
- 새 속성 참조 문서 섹션
호환되지 않는 변경 사항
- URL의 CSS 구문 분석을 위한 캐시가 이 버전에 도입되었으며 기본적으로 활성화되어 있습니다. css.parser.cache.size 속성에 의해 제어됩니다 . 값을 0 으로 설정하여 비활성화할 수 있습니다 . 버그 59885 참조
- ThroughputController 기본값이 변경되었습니다. 이제 기본값은 전역이고 더 이상 사용자별로 실행되지 않는 백분율 실행입니다. 버그 60023 참조
- 버전 3.1부터 HTML 보고서는 메트릭을 계산할 때 빈 트랜잭션 컨트롤러 ( If Controller 또는 Throughput Controller 에 의해 생성될 수 있음 )를 무시합니다. 보다 정확한 측정항목을 제공합니다.
- 버전 3.1부터 Summariser는 실시간 통계를 계산할 때 트랜잭션 컨트롤러 에서 생성한 SampleResults를 무시합니다. 버그 60109 를 참조하세요.
- 버전 3.1부터 Stripped 모드를 사용할 때(기본적으로 StrippedBatch 가 사용됨) 실패한 SampleResults에 대해서도 응답이 제거됩니다 . user.properties 에서 sample_sender_strip_also_on_error=false 를 설정하여 이를 이전 동작으로 되돌릴 수 있습니다( 버그 60137 참조 ).
- 버전 3.1부터 jmeter.save.saveservice.connect_time 속성 값은 true 이며 결과에 대한 CSV 파일에는 연결 시간이 포함된 추가 열이 포함됩니다. 버그 60106 참조
- 버전 3.1부터 Random Timer 하위 클래스(Gaussian Random Timer, Uniform Random Timer 및 Poisson Random Timer)는 인터페이스 org.apache.jmeter.timers.ModifiableTimer 를 구현합니다.
- 버전 3.1부터 JSR223 테스트 요소에서 언어를 선택하지 않으면 Apache Groovy 언어가 사용됩니다. 버그 59945 참조
- 버전 3.1부터 CSV DataSet은 이제 CSV DataSet을 구성할 때 변수 이름 사이의 공백으로 인한 문제를 피하기 위해 변수 이름을 자릅니다. 변수 이름의 시작이나 끝에 공백을 사용하지 않는 한 이것은 영향을 미치지 않습니다. 버그 60221 참조
- 버전 3.1부터 HTTP 요청은 HttpClient4(기본값) 구현을 사용하여 2147483647 바이트(2GB)보다 큰 응답을 처리할 때 가능합니다. 이를 허용하기 위해 두 가지 속성이 도입되었습니다.
- httpsampler.max_bytes_to_store_per_request (기본값은 10MB)는 메모리에 보관되는 항목을 제어합니다. 기본적으로 JMeter는 응답의 처음 10MB만 메모리에 보관합니다. 이 값보다 큰 응답이 있고 처음 10MB 이후의 어설션을 사용하는 경우 이 값을 늘려야 합니다.
- httpsampler.max_buffer_size 는 데이터를 읽는 데 사용되는 버퍼를 제어합니다. 이전에 JMeter는 Content-Length 헤더와 동일한 버퍼를 사용하여 실패로 이어질 수 있고 JMeter가 결함이 있는 애플리케이션에 덜 저항하도록 만들었습니다. 현재 기본값(65KB)보다
더 이상 사용되지 않고 제거된 요소 또는 기능
- 버그 60222 - 더 이상 사용되지 않는 요소 제거 분포 그래프, 스플라인 시각화 도우미
- 버그 60224 - 모니터 결과 수신기를 더 이상 사용하지 않습니다. 다음 버전에서 삭제됩니다.
- 버그 60323 - BSF 요소 사용 중단(대신 JSR223 요소 사용). 아마도 N+2 버전에서 삭제될 것입니다. 다음 요소는 더 이상 사용되지 않습니다.
- 버그 60225 - 더 이상 사용되지 않는 __jexl 함수, BSF의 jexl 지원 및 commons-jexl-1.1.jar 에 대한 종속성을 삭제 합니다. 이 함수는 __jexl3 함수 로 쉽게 대체할 수 있습니다.
- 버그 60268 - org.apache.jmeter.gui.action.Analyze 삭제 및 org.apache.jmeter.reporters.FileReporter 사용 중단(다음 버전에서 제거됨)
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 59882 - 처리량 향상을 위해 메모리 할당을 줄입니다. 풀 리퀘스트 #217 및 풀 리퀘스트 #228 을 통해 Benoit Wiart(ubik-ingenierie.com의 b.wiart) 제공 -
- 버그 59885 - 캐시를 도입하여 임베디드 리소스 다운로드에 대한 CSS 구문 분석을 최적화합니다. 풀 요청 #219 를 통해 Benoit Wiart(ubik-ingenierie.com의 b.wiart) 제공 -
- 버그 60092 - 결과 트리 보기: PUT 본문의 단축 버전을 샘플러 결과에 추가합니다.
- 버그 60229 - 새 메트릭을 추가하십시오: sent_bytes. Philippe Mouawad(ubik-ingenierie.com의 p.mouawad)가 구현하고 Ubik Load Pack(ubikloadpack.com의 지원)이 기고했습니다.
- 버그 53039 - HTTP 요청: 크기가 2147483647 바이트(2GB)를 초과하는 응답을 처리할 수 있습니다.
- 버그 60265 - HTTP 요청: 파일 업로드 탭에서 열 크기를 조정할 수 없음
- 버그 60318 - ph-css 라이브러리로 구문 분석할 때 CSS 경고를 무시합니다.
- 버그 60358 - Http 요청: HTTP GET 요청에 대한 본문 데이터 전송 허용
기타 샘플러
- pull request #211 - JDBC 샘플러의 타이밍을 구별하십시오. 대기 시간 및 연결 시간을 사용합니다. 제공: Thomas Peyrard(murex.com의 thomas.peyrard)
- 버그 59620 - "JMS 게시자 → 아래에 지정된 폴더의 임의 파일"에서 버튼 동작을 수정하여 디렉토리를 선택할 수 있습니다.
- 버그 60066 - CLOB 및 BLOB를 처리하고 결과 샘플러에 저장할 때 필요한 경우 제한합니다.
컨트롤러
- 버그 59351 - IncludeController에 대한 로그/오류/메시지를 개선합니다. Antonio Gomes Rodrigues(gmail.com의 ra0077)가 부분적으로 기여했습니다.
- 버그 60023 - ThroughputController: "Percent Executions"를 만들고 기본값을 전역으로 설정합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60082 - 유효성 검사 모드: 처리량 컨트롤러가 100%로 설정된 것처럼 실행되도록 할 수 있습니다.
- 버그 59349 - IncludeController의 입력 파일 이름에서 공백을 자릅니다.
- 버그 60081 - Interleave Controller: 스레드 간에 교대로 옵션을 추가합니다.
청취자
- 버그 59953 - GraphiteBackendListener: 평균 측정항목을 추가합니다. Maxime Chassagneux(gmail.com의 maxime.chassagneux)가 부분적으로 기여했습니다.
- 버그 59975 - 결과 트리 보기: 콘텐츠가 클 때 텍스트 렌더러가 짜증나게 아래로 스크롤합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60109 - 요약기: 요약 계산에서 TC에서 생성한 SampleResult를 무시하도록 합니다.
- 버그 59948 - 결과 트리 보기에 형식이 지정되고 정상적인 HTML 소스 코드 렌더링 추가
- 버그 60252 - 전송된 kbytes/s를 집계 보고서 및 요약 보고서에 추가
- 버그 60267 - UX: 결과 트리 보기에서 이스케이프를 입력하여 구성 팝업을 닫을 수 있어야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 59845 - 오류 대신 디버그 수준 에서 JSON 경로 불일치에 대한 메시지를 기록합니다 .
- pull request #212 - HTTP Authorization Manager에서 다중 선택 및 삭제를 허용합니다. Benoit Wiart의 패치 기반(ubik-ingenierie.com의 b.wiart)
- 버그 59816 - 요청 #213 끌어오기 - HTTP 헤더 관리자에서 다중 선택 및 삭제를 허용합니다. Benoit Wiart의 패치 기반(ubik-ingenierie.com의 b.wiart)
- 버그 59967 - CSS/JQuery 추출기: 빈 기본값을 허용합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 59974 - 응답 어설션: " 클립보드에서 추가" 버튼 추가 . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60050 - CSV 데이터 세트: 이 구성으로 인해 스레드가 종료될 때 로그에 명시합니다.
- 버그 59962 - 응답 코드가 304 일 때 캐시 관리 프로그램이 만료 날짜를 업데이트하지 않습니다 .
- 버그 60018 - 타이머: 일시 중지에 적용할 요소를 추가합니다. 부분적으로 Ubik Load Pack의 패치 기반(ubikloadpack.com에서 지원)
- 버그 60203 - XPath 어설션에서 텍스트 영역에 더 많은 사용 가능한 공간을 사용합니다.
- 버그 60220 - JSON 경로 포스트 프로세서의 이름을 JSON 추출기로 변경
- 버그 60221 - CSV DataSet: 변수 이름 자르기
- 버그 59329 - CSVDataSet의 입력 파일 이름에서 공백을 자릅니다.
기능
- 버그 59963 - 새 함수 __RandomFromMultipleVars : 하나 이상의 변수 값에서 임의 값을 계산하는 기능. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 59991 - Groovy 스크립트를 평가하기 위한 새로운 함수 __groovy . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
I18N
- pull request #214 - 스레드 시작 지연에 대한 스페인어 번역 추가. Asier Lostalé(openbravo.com의 asier.lostale) 제공.
- 버그 60348 - 다른 이름으로 저장에 대한 중국어 번역을 변경 합니다. XMeter에서 제공했습니다(xmeter.net에서 지원).
보고서/대시보드
- 버그 59954 - 웹 보고서/대시보드: 평균 메트릭 추가
- 버그 59956 - 웹 보고서/대시보드: 데이터 범위에 대한 그래프를 생성하는 기능 추가
- 버그 60065 - 보고서/대시보드: "오류 유형"에 응답 메시지를 추가하여 대시보드 오류 요약을 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60079 - 보고서/대시보드: 새로운 "응답 시간 개요" 그래프 추가
- 버그 60080 - 보고서/대시보드: 새로운 "시간 경과에 따른 연결 시간" 그래프를 추가합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60091 - 보고서/대시보드: 최소/최대 및 백분위수 그래프가 포함된 새 보고서가 있습니다.
- 버그 60108 - 보고서/대시보드: 요청 요약 반올림이 너무 공격적입니다.
- 버그 60098 - 보고서/대시보드: 메모리 영향을 줄이기 위해 " jmeter.reportgenerator.statistic_window " 의 기본값 을 줄입니다.
- 버그 60115 - 보고서 생성기에 시작/종료 날짜 필터에 대한 날짜 형식 속성 추가
- 버그 60171 - 보고서/대시보드: 시간 경과에 따른 활성 스레드는 실행 중인 스레드의 총량을 제공하기 위해 줄을 쌓아야 합니다.
- 버그 60250 - 보고서/대시보드: HTML 대시보드의 통계 보고서에 보낸 KB/s를 추가해야 함
- 버그 60287 - 보고서/대시보드: 대시보드에 샘플러 테이블별 새로운 상위 5개 오류가 있습니다. Philippe Mouawad(ubik-ingenierie.com의 p.mouawad)가 구현하고 Ubik Load Pack(ubikloadpack.com의 지원)이 기고했습니다.
일반적인
- 버그 59803 - JDBC 연결 구성에 validationQuery 가 지정 되지 않은 경우 JDBC 드라이버에서 isValid() 메서드를 사용합니다.
- 버그 57493 - 속성에 대한 문서 페이지 만들기
- 버그 59924 - log_level 인 경우 XXX 패키지 의 로그 수준이 DEBUG 로 설정됩니다. XXXX 속성 값에 공백이 포함되어 있으며 __log 함수 와 동일합니다.
-
버그 59777
- SLF4J 바인딩을 자체 jar로 추출하고 JMeter 라이브러리로 만듭니다.
시작 시 여러 SLF4J 바인딩에 대한 경고가 표시되는 경우. Apache JMeter에서 제공한 바인딩 lib/ApacheJMeter_slf4j_logkit.jar 또는 보고된 다른 모든 바인딩을 제거합니다. 자세한 내용은 SLF4J 자체 정보 페이지를 참조하세요.
- 버그 60085 - 현재 JDBC 풀 구현에서 작동하지 않고 현재 JDBC 드라이버가 준비된 명령문 자체의 캐싱을 지원해야 하므로 준비된 명령문에 대한 캐시를 제거합니다.
- 버그 60137 - StrippedXXXX 모드를 사용할 때 분산 테스트에서 오류 발생 시 응답도 제거됨
- 버그 60106 - 설정 기본값: " jmeter.save.saveservice.connect_time "을 true로 전환(3.0 이후)
- 풀 리퀘스트 #229 - 작은 메모리 할당 개선. 제공: Benoit Wiart(ubik-ingenierie.com의 b.wiart)
- 버그 59945 - 모든 JSR223 요소의 경우 UI에서 스크립트 언어가 선택되지 않은 경우 스크립트는 그루비 스크립트로 해석됩니다.
- 버그 60266 - 사용성/UX: 최근 프로젝트를 닫거나/나가거나/되돌리기/로드/로드하거나 템플릿에서 JMeter 계획을 생성하거나 테스트가 실행 중인 경우 새 계획을 열 수 없어야 합니다.
- 버그 57305 - GuiPackage 에서 ProxyControl 의 종속성을 제거 합니다. jarek102(gmail.com의 jarek102) 및 Wyatt Epp(gmail.com의 wyatt.epp) 패치 기반
비기능적 변경
- jsoup-1.10.1로 업데이트됨(1.8.3에서)
- ph-css 4.1.6으로 업데이트됨(4.1.4에서)
- tika-core 및 tika-parser 1.14로 업데이트됨(1.12에서)
- commons-io 2.5로 업데이트됨(2.4에서)
- commons-lang3 3.5로 업데이트됨(3.4에서)
- commons-net 3.5로 업데이트됨(3.4에서)
- Groovy 2.4.7로 업데이트됨(2.4.6에서)
- httpcore 4.4.5로 업데이트됨(4.4.4에서)
- slf4j-api 1.7.21로 업데이트됨(1.7.13에서)
- rsyntaxtextarea-2.6.0으로 업데이트됨(2.5.8에서)
- xstream 1.4.9로 업데이트됨(1.4.8에서)
- jodd 3.7.1로 업데이트됨(3.6.7.jar에서)
- xmlgraphics-commons 2.1로 업데이트됨(2.0.1에서)
- Pull request #215 - 새로 추가된 GuiUtils#cancelEditing 메소드를 사용하여 중복 코드를 줄 입니다. 제공: Benoit Wiart(ubik-ingenierie.com의 b.wiart)
- 풀 리퀘스트 #218 - 기타 정리. 제공: Benoit Wiart(ubik-ingenierie.com의 b.wiart)
- 풀 리퀘스트 #216 - 가능하면 패턴을 재사용하세요. 제공: Benoit Wiart(ubik-ingenierie.com의 b.wiart)
- 버그 60364 - 문서 테스트 범위. 제공: Thomas Schapitz(online.de의 ts-nospam12)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 58888 - HTTP(S) 테스트 스크립트 레코더(ProxyControl)가 SamplerCreator#createChildren()에서 반환된 TestElement 를 추가하지 않음
- 버그 59902 - httpclient.socket.https.cps 속성 을 설정할 때 Https 핸드셰이크 실패
- 버그 60084 - JMeter 3.0 포함 리소스 URL이 자동으로 인코딩 됨
- 버그 60376 - Http 테스트 스크립트 레코더: 서버에서 deflate를 사용하는 경우 기록으로 인해 응용 프로그램이 중단될 수 있음
기타 샘플러
- 버그 59113 - JDBC 연결 구성: 숫자 대신 상수를 사용하는 경우 트랜잭션 격리 수준이 올바르게 설정되지 않음
컨트롤러
- 버그 60361 - ModuleController: 테스트 계획에 존재하지 않는 컨트롤러를 참조하는 모듈 컨트롤러가 포함되어 있으면 GUI 모드의 JMeter가 중지되지 않습니다.
청취자
- 버그 59712 - 디코딩이 실패할 때 RequestView에 원래 쿼리를 표시합니다. Teemu Vesala(qentinel.com의 teemu.vesala) 패치 기반
- 버그 60278 - 2.13(및 버그 57514 ) 이후로 집계 그래프, 요약 보고서 및 집계 보고서에서 저장된 파일 csv에 저장된 오류, 비율 및 대역폭 값의 정밀도가 손실되었습니다.
- 버그 60360 - 결과 트리 보기: 요청 탭에 DELETE 요청 본문이 표시되지 않음
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 59964 - JSR223 테스트 요소: 사용 가능한 경우 캐시 컴파일된 스크립트가 올바르게 재설정되지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 59609 - JSON 포스트 프로세서에서 추출된 JSON 개체의 형식을 JSON으로 올바르게 지정합니다.
- 버그 60332 - 결과 트리 보기: Windows LAF에서 JSON 추출기가 JSON 경로 표현식 및 결과 패널을 표시하지 않음
기능
I18N
일반적인
- 버그 59400 - -X 옵션을 사용할 때 중지할 때 UnmarshalException을 제거 합니다.
- 버그 59607 - 대규모 테스트 계획(2GB 이상)을 읽을 때 JMeter가 충돌합니다. Felix Draxler의 수정 사항 기반(sap.com의 felix.draxler)
- 버그 59621 - 보고서 대시보드의 오류 수가 일회성입니다.
- 버그 59657 - jsyntaxtextarea.font.family 속성이 설정된 경우 JSyntaxTextArea에서만 글꼴을 설정 합니다.
- 버그 59720 - XML 파일이 EOL=LF로 생성되므로 Windows에서 배치 테스트 파일 비교가 실패함
- 코드 정리. Graham Russell의 패치(ham1.co.uk의 graham)
- 버그 59722 - StandardCharsets를 사용하여 Charset 이름의 철자가 틀릴 가능성을 줄이십시오.
- 버그 59723 - 가능할 때마다 테스트를 위해 jmeter.properties를 사용하십시오.
- 버그 59726 - CSV 헤더 텍스트 및 샘플 형식이 예기치 않게 변경되지 않는지 확인하기 위한 단위 테스트
- 버그 59889 - 대시보드용 보고서에서 인코딩을 UTF-8로 변경합니다.
- 버그 60053 - 비 GUI 모드에서 보고서가 생성되는 동안 테스트 종료 시 Stacktrace가 표시됩니다.
- 버그 60049 - 지연 시간이 긴 타이머 또는 처리량이 낮은 일정 처리량 타이머를 사용할 때 스케줄러가 종료하는 데 많은 시간이 걸릴 수 있습니다. 이는 종료 테스트와 동일합니다.
- 버그 60089 - 보고서/대시보드: 시간 경과에 따른 바이트 처리량이 보낸 바이트와 받은 바이트를 반대로 했습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 60090 - 보고서/대시보드: 빈 트랜잭션 컨트롤러가 메트릭에 포함되어서는 안 됩니다.
- 버그 60103 - 보고서/대시보드: 요청 요약에 트랜잭션 컨트롤러가 포함되어 잘못된 비율로 연결됨
- 버그 60105 - 보고서/대시보드: 보고서에는 트랜잭션 컨트롤러 " 상위 샘플 생성 " 옵션을 확인하고 관련 문제를 수정해야 합니다.
- 버그 60107 - 보고서/대시보드: StatisticSummary에서 TransactionController SampleResult가 Total 행을 잘못 만듭니다.
- 버그 60110 - 보고서/대시보드: 응답 시간 백분위수에서 슬라이더가 쓸모가 없습니다.
- 버그 60135 - 보고서/대시보드: 시간 경과에 따른 활성 스레드는 시간 초과 섹션에 있어야 합니다.
- 버그 60125 - 보고서/대시보드: 기본 구분 기호가 \t 인 경우 대시보드를 생성할 수 없습니다 . Tamas Szabadi의 보고서 기반(rightside.co의 tamas.szabadi)
- 버그 59439 - 보고서/대시보드: AbstractOverTimeGraphConsumer.createGroupInfos()가 추상이어야 합니다.
- 버그 59918 - Ant 생성 HTML 보고서가 손상됨(추가 폴더)
- 버그 60295 - JSON 추출기는 요소가 하나만 있는 경우 배열 요소를 인덱싱하지 않습니다. Roberto Braga의 패치 기반(sociale.it의 roberto.braga)
- 버그 60299 - 스케줄러가 있는 스레드 그룹: 종료 시간이 과거일 때 이상한 동작
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- Felix Draxler(sap.com의 felix.draxler)
- Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- Teemu Vesala(qentinel.com의 teemu.vesala)
- Asier Lostalé(openbravo.com의 asier.lostale)
- Thomas Peyrard(murex.com의 thomas.peyrard)
- Benoit Wiart(ubik-ingenierie.com의 b.wiart)
- Maxime Chassagneux(gmail.com의 maxime.chassagneux)
- 유빅 로드팩
- Tamas Szabadi(rightside.co의 tamas.szabadi)
- Roberto Braga(soziale.it의 roberto.braga)
- gmail.com의 jarek102
- Wyatt Epp(gmail.com의 wyatt.epp)
- Thomas Schapitz(online.de의 ts-nospam12)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는
버그가
있습니다 .
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호
이것은 JMeter 작동에 영향을 미치지 않습니다. 이 문제는 Java 7b05부터 수정되었습니다. -
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. - Oracle Java 7 및 Mac Book Pro Retina Display를 사용하면 JMeter GUI가 흐릿하게 보일 수 있습니다. 이것은 알려진 Java 버그입니다. Bug JDK-8000629 를 참조하십시오 . 해결 방법은 이 문제를 해결하는 Java 7 업데이트 40 런타임을 사용하는 것입니다.
-
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2(예: md2WithRSAEncryption)를 사용하는 서명 알고리즘 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우. 이 오류는 Java 7 버전 u16(MD2) 및 버전 u40(1024비트 미만의 인증서 크기) 및 Java 8의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK7_u79, JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 JAVA 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 3.0
요약
새롭고 주목할만한
테스트 계획 생성 및 디버깅 개선 사항
Request/Responses/Headers/Cookies/…에서 텍스트/정규식 검색을 허용하는 View Results Tree의 새로운 검색 기능을 사용하면 상관 관계 및 테스트 계획 생성이 용이해집니다.
사용자 친화적인 JSON-PATH 구문을 사용하여 JSON 콘텐츠에서 데이터를 더 잘 추출하는 새로운 JSON 포스트 프로세서
JSON은 이제 새로운 JSONPath 포스트 프로세서 의 도입으로 JMeter의 일급 시민입니다 . 이 포스트 프로세서는 정규 표현식 포스트 프로세서와 매우 유사하지만 JSON 코드에 매우 적합합니다. Jayway JSON Path 라이브러리 기반
새로운 유효성 검사 기능, 한 번의 클릭으로 1 명의 사용자, 일시 중지 및 1 회 반복 으로 스레드 그룹 선택 실행
JSR223 테스트 요소에는 더 이상 캐시 컴파일 키가 필요하지 않습니다.
사용 가능한 경우 컴파일된 스크립트 캐시 확인란 을 선택하면 기본 언어가 지원하는 경우 요소(전처리기, 후처리기, 어설션, 리스너 등)가 스크립트를 사전 컴파일하고 컴파일된 코드를 캐시합니다.
Nashorn은 이제 더 나은 성능과 더 쉬운 사용을 제공하는 Javascript 엔진으로 사용할 수 있습니다.
Nashorn 을 활성화하려면 user.properties 에서 설정해야 합니다 .
javascript.use_rhino=거짓
Nashorn은 다음 요소에서 Java 8과 함께 사용할 수 있습니다.
- IfController
- 자바스크립트 언어 가 선택된 JSR223 테스트 요소
- __자바스크립트 함수
Jexl3이 통합되었습니다. 새로운 스크립팅 기능과 훨씬 더 나은 문서를 제공합니다.
새로운 기능 __jexl3 덕분에 이제 JEXL3 을 사용할 수 있습니다 . JEXL은 JSTL과 매우 유사한 언어입니다.
간소화된 HTTP 요청 UI
구성을 단순화하기 위해 새로운 " 고급 " 탭이 HTTP 요청에 추가되었습니다. 파일 업로드 기능이 전용 탭으로 이동되었습니다. 이는 UI에서 매개변수에 사용할 수 있는 공간을 늘리고 UX를 단순화합니다.
HTTP 요청 기본값 개선 사항
이제 고급 탭에서 소스 주소(IP 스푸핑과 같은 기능) 및 " 응답을 MD5 해시로 저장 "을 구성할 수 있습니다.
보고 개선 사항
HTML 페이지(APDEX, 요약 보고서 및 그래프)에서 동적 그래프를 생성하는 새로운 보고 기능
동적 HTML 보고서는 이제 부하 테스트가 끝날 때 또는 원할 때마다 결과 파일에서 생성할 수 있습니다. 자세한 내용은 대시보드 생성 을 참조하세요. 이 보고서는 다음 측정항목을 제공합니다.
- 허용 및 충족된 임계값에 대해 구성 가능한 값을 기반으로 APDEX를 계산하는 APDEX (응용 프로그램 성능 지수) 테이블
- 성공 및 실패한 트랜잭션 비율을 보여주는 요청 요약 그래프:
- 구성 가능한 3개의 백분위수를 포함하여 트랜잭션당 모든 메트릭의 요약을 하나의 테이블에 제공하는 통계 테이블:
- 전체 요청에서 모든 오류 및 해당 비율에 대한 요약을 제공하는 오류 테이블:
- 모든 거래를 확인/선택 취소하여 표시/숨길 수 있는 확대/축소 가능한 차트:
- 시간 경과에 따른 응답 시간:
- 시간 경과에 따른 바이트 처리량:
- 시간 경과에 따른 지연 시간:
- 초당 조회수:
- 초당 응답 코드:
- 초당 트랜잭션:
- 응답 시간 대 초당 요청:
- 대기 시간 대 초당 요청:
- 응답 시간 백분위수:
- 시간 경과에 따른 활성 스레드:
- 시간 대 스레드:
- 응답 시간 분포:
GraphiteBackendListener에 새로운 Server Hits 메트릭이 있습니다.
요약기는 더 읽기 쉬운 기간을 표시합니다.
이제 지속 시간이 시간:분:초 형식으로 표시됩니다.
요약 결과 생성 + 1 in 00:00:01 = 1.7/s 평균: 1 최소: 1 최대: 1 오류: 0(0.00%) 활성: 1 시작: 1 완료: 0 요약 결과 생성 + 138 in 00:00:09 = 16.2/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 활성: 9 시작: 9 완료: 0 요약 결과 생성 = 139 in 00:00:09 = 15.3/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 요약 결과 생성 + 467 in 00:00:10 = 47.0/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 활성: 19 시작: 19 완료: 0 요약 결과 생성 = 606 in 00:00:19 = 31.9/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) ⋮ 요약 결과 생성 + 1662 in 00:00:10 = 166.1/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 활성: 50 시작: 50 완료: 0 요약 결과 생성 = 28932 in 00:03:19 = 145.4/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 요약 결과 생성 + 1664 in 00:00:10 = 166.4/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 활성: 50 시작: 50 완료: 0 요약 결과 생성 = 30596 in 00:03:29 = 146.4/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 요약 결과 생성 + 1661 in 00:00:10 = 166.1/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%) 활성: 50 시작: 50 완료: 0 요약 결과 생성 = 32257 in 00:03:39 = 147.3/s 평균: 0 최소: 0 최대: 1 오류: 0(0.00%)
이제 BackendListener를 사용하여 샘플러 목록을 정규식으로 정의할 수 있습니다.
이제 정규식을 사용하여 필터링할 샘플러를 선택할 수 있습니다. 매개변수 사용: useRegexpForSamplersList=true 및 매개변수 samplersList 에 정규식 입력
프로토콜 및 부하 테스트 개선 사항
HttpClient 4.5.2로의 마이그레이션이 시작되었습니다. 완전히 완성되지는 않았지만 JMeter의 많은 부분을 개선합니다.
HttpClient 4.5.2로 마이그레이션하면 JMeter의 다음 필드가 향상됩니다.
- 쿠키에 대한 HTTP 상태 관리 메커니즘 RFC-6265 와 같은 최신 RFC 지원 , 이제 HTTP 쿠키 관리자 구성 요소에서 HC4CookieHandler 를 사용하고 표준 쿠키 정책 을 선택해야 합니다.
- HttpClient4 구현을 위한 SNI(서버 이름 표시) 지원
- 부실 연결 및 연결 유지 관리에 대한 유효성 검사 메커니즘이 개선되고 성능이 향상되었습니다. httpclient4.validate_after_inactivity 및 httpclient4.time_to_live 속성 참조
- JMeter 2.13에서 사용된 이전 버전 4.2.6 이후의 많은 버그 수정, HttpClient 4.5.X 릴리스 정보 참조
- HTTP RFC 2616 / RFC 7230에 대한 더 나은 지원 및 수축 압축 관리 문제 수정
이제 병렬 다운로드가 현실적이며 훨씬 더 잘 확장됩니다.
- CSS 가져온 파일( @import 를 통해 ) 또는 포함된 리소스(배경, 이미지, …) 구문 분석
- SSL 컨텍스트의 지연 초기화: 15개 스레드의 경우 HTTP 전용 테스트의 경우 5분 동안 138% 더 많은 샘플링이 수행됩니다. 스레드 수가 증가하면 게인이 증가합니다.
- 병렬 다운로드를 위한 연결 관리 재작업: 현재 브라우저 동작을 더 잘 시뮬레이션하고 처리량을 개선합니다. 15개 스레드의 경우 5분 안에 샘플이 135% 추가됩니다.
- ThreadPool을 통한 병렬 다운로드에 사용된 스레드 재사용: 처리량을 개선하고 이러한 테스트에 대한 JMeter 확장성을 높입니다.
- 15개의 스레드를 사용한 테스트에서 총 750% 더 많은 처리량을 발견할수록 더 많은 스레드를 가질수록 더 많은 이득을 얻습니다.
- 이제 전체 응답을 저장하는 대신 임베디드 리소스의 MD5만 계산하고 저장할 수 있습니다. 이는 httpsampler.embedded_resources_use_md5=true 속성을 설정하여 수행할 수 있습니다.
샘플 타임아웃 기능 소개
이 새로운 샘플 타임아웃 전처리기를 사용하면 해당 범위에 있는 요소에 타임아웃을 적용할 수 있습니다. 아래 스크린샷에서 10초 제한 시간은 디버그 샘플러 및 HTTP 요청 요소에 적용됩니다.
JDBC 요청은 이제 DBCP2 풀을 사용합니다.
JDBC 요청 및 JDBC 연결 구성이 업데이트되어 이전 Excalibur 풀을 Apache Commons DBCP2 풀로 대체했습니다. 결과적으로 사용 가능한 경우 속성이 동등한 속성으로 마이그레이션되고 UI가 업데이트되었습니다. Excalibur와 달리 Commons DBCP는 풀을 생성할 때 유효성 검사 쿼리를 사용합니다. 따라서 쿼리가 유효한지 확인하십시오. 기본 쿼리는 많은 데이터베이스에 적합하지만 전부는 아닙니다. 예를 들어 Oracle에는 ' SELECT 1 FROM DUAL ' 또는 이와 유사한 것이 필요합니다.
UX 개선 사항:
HiDPI 화면에서 더 나은 디스플레이
사용 설명서의 힌트 및 팁 섹션에서 Linux 또는 Windows의 HiDPI 화면이 있는 JMeter를 참조하십시오 .
새로운 아이콘 모양 및 로고
JMeter에는 Felix Schumacher가 만든 새로운 로고가 있습니다.
아이콘도 새로고침하여 보다 현대적인 스타일을 부여하고 의미를 더했습니다.
성가신 작은 버그의 많은 수정
버그가 있고 혼란스러운 동작을 수정하거나 호환되지 않는 옵션을 선택하지 않도록 하여 사용을 단순화하기 위해 약 40개의 UI 수정이 이루어졌습니다.
스레드 그룹 UI 및 관련 작업 개선( 시작 , 타이머 없이 시작 , 유효성 검사 )
부하 테스트 전에 테스트 계획을 만들고 테스트하는 것은 스레드 그룹을 선택하기만 하고 타이머를 적용하지 않고 시작하거나(따라서 시간을 얻음) 새로운 유효성 검사 모드를 사용하여 시작할 수 있게 함으로써 훨씬 단순화되었습니다. 이 유효성 검사 모드를 사용하면 타이머를 적용하지 않고 1개의 스레드, 1개의 반복으로 스레드 그룹을 (수정하지 않고) 시작할 수 있습니다. 이 유효성 검사 모드는 사용자 지정할 수 있습니다.
새로운 단축키
- 가장 많이 사용되는 요소 추가( Ctrl + 0 ... Ctrl + 9 ), gui.quick_ XXX 속성 을 통해 구성 가능
- 노드 확장 단축키
핵심 개선 사항
더 나은 기본값으로 구성 단순화
JMeter 구성을 기본적으로 최적으로 만들기 위해 많은 속성의 기본값이 수정되었습니다. 자세한 내용은 "호환되지 않는 변경 사항" 섹션을 참조하십시오.
JMeter와 함께 번들로 제공되는 Apache Groovy
잘 알려진 JVM 스크립팅 언어인 Apache Groovy 는 이제 lib 폴더에 Apache JMeter와 함께 번들로 제공됩니다. 이를 통해 Groovy 언어를 선택하여 JSR223 Elements를 통해 즉시 사용할 수 있습니다.
불필요하고 오래된 속성 제거
이전 버전과의 호환성을 유지하거나 불필요한 사용자 지정을 제공하기 위해 존재했던 이전 속성이 제거되었습니다. 제거된 속성을 보려면 "호환되지 않는 변경 사항" 섹션을 읽으십시오.
코드 및 문서 개선 사항
- Java7 소스 코드로 마이그레이션 및 구문 설탕 사용
- 주요 코드 정리
- 문서 전체 검토 및 콘텐츠 및 프레젠테이션 개선
단위 테스트 개선 사항
- 많은 테스트를 JUnit 4로 마이그레이션
- 헤드리스 테스트 관리 개선
- 더 많은 단위 테스트
종속성 새로 고침
더 이상 사용되지 않는 라이브러리가 삭제되거나 최신 라이브러리로 대체되었습니다.
- 엑스칼리버가 commons-dbcp로 대체됨
- htmllexer, htmlparser 제거됨
- 비누 제거
- jdom이 제거되었습니다.
이제 플러그인 및 핵심 코드 내에서 Slf4j를 사용할 수 있습니다.
이제 사용자 정의 플러그인 또는 org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient 하위 클래스에서 SLF4J 로깅 래퍼를 사용할 수 있습니다 .
호환되지 않는 변경 사항
- 버전 3.0부터 Groovy-2.4.6은 JMeter( lib 폴더)와 함께 번들로 제공되므로 search_paths 또는 user.classpath 속성을 통해 이전 버전 또는 참조된 버전을 제거해야 합니다 .
- 버전 3.0부터 jmeter.save.saveservice.assertion_results_failure_message 속성 값은 true입니다. 즉, 결과에 대한 CSV 파일에는 어설션 결과 응답 메시지가 포함된 추가 열이 포함됩니다. 버그 58978 참조
- 버전 3.0부터 jmeter.save.saveservice.print_field_names 속성 값은 true입니다. 즉, 결과에 대한 CSV 파일에는 CSV의 첫 번째 줄에 필드 이름이 포함됩니다( 버그 58991 참조).
- 버전 3.0부터 jmeter.save.saveservice.idle_time 속성 값은 true입니다. 즉, CSV/XML 결과 파일에는 샘플러 간의 유휴 시간이 포함된 추가 열이 포함됩니다. 버그 57182 참조
- RandomTimer 클래스에서 보호된 인스턴스 타이머 필드는 getTimer() 보호된 메소드 로 대체되었으며 이는 버그 58100 과 관련이 있습니다. 이는 타사 플러그인에 영향을 줄 수 있습니다 .
- 버전 3.0부터 Javascript Engine( __javaScript , IfController ) 을 사용하는 요소에 대해 Java8에서 Nashorn Engine(기본 javascript 엔진은 Rhino)을 사용할 수 있습니다 . 사용하려면 javascript.use_rhino=false 속성을 사용하고
버그 58406 을 참조 하세요 .
참고: 향후 버전에서는 기본적으로 Nashorn으로 전환됩니다. 사용자는 Rhino 대신 Nashorn을 사용하는 것과 관련된 모든 문제를 보고하는 것이 좋습니다.
- 버전 3.0부터 JMS Publisher는 메시지 소스가 " From File "이고 " Filename " 필드가 변경되면(예: 변경된 변수를 사용하는 경우 ) 파일의 내용을 다시 로드합니다.
- org.apache.jmeter.gui.util.ButtonPanel 이 제거되었습니다. 타사 플러그인이나 사용자 정의 개발에서 사용하는 경우 코드 를 업데이트해야 합니다. 버그 58687 참조
- jmeterthread.startearlier 속성 이 제거되었습니다. 버그 58726 참조
- jmeterengine.startlistenerslater 속성 이 제거되었습니다. 버그 58728 참조
- jmeterthread.reversePostProcessors 속성 이 제거되었습니다. 버그 58728 참조
- jmeter.toolbar.display 속성 이 제거되었으며 이제 도구 모음이 항상 표시됩니다. 버그 59236 참조
- jmeter.errorscounter.display 속성 이 제거되었으며 이제 오류/경고 카운터가 항상 표시됩니다. 버그 59236 참조
- xml.parser 속성 이 제거되었으며 org.apache.jmeter.util.JMeterUtils#getXMLParser 가 더 이상 사용되지 않으며 사용되지도 않으므로 더 이상 사용되지 않습니다. 버그 59236 참조
- 이제 Summariser 리스너는 HH:mm:ss (시:분:초) 형식으로 지속 시간을 표시하지만 이전에는 초 단위로 지속 시간을 표시했습니다. 버그 58776 참조
- org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.getQueryMap 서명이 변경되었습니다. 사용하는 경우 코드를 업데이트해야 합니다. 버그 58845 참조
- JMS 구독자는 수신된 메시지 수가 예상 메시지 수와 같지 않은 경우 샘플을 오류로 간주합니다. 이전에는 적어도 1개의 메시지가 수신된 경우 샘플을 OK로 간주했습니다. 버그 58980 참조
- 버전 3.0부터 HTTP(S) 테스트 스크립트 레코더는 기본적으로 포트 8888 을 사용합니다(녹화 템플릿을 사용할 때 구성된 대로). 버그 59006 참조
- 버전 3.0부터 htmlparser 라이브러리(HtmlParserHTMLParser)에 의존하는 임베디드 리소스용 파서(2.10 이후 Lagarto 기반 구현으로 대체됨)는 종속성과 함께 삭제되었습니다.
- 버전 3.0부터 이전 Avalon 형식 JTL(결과) 파일 읽기 지원이 제거되었습니다. 버그 59064 를 참조하세요.
- 버전 3.0부터 http.java.sampler.retries 의 기본 속성 값 은 HttpClient4의 동작과 일치하도록 0 (기본적으로 재시도 없음)
으로 변경되었습니다 .
의미가 변경되었습니다. 3.0 이전에는 http.java.sampler.retries=1 이 No Retry (즉, 총 시도 횟수 = 1)를 의미했습니다. 3.0 http.java.sampler.retries=1 은 1 번의 재시도를 의미하기 때문입니다. (참고: 이것은 Java HTTP 샘플러에만 적용됩니다.)버그 59103 참조
- 3.0부터 다음과 같은 더 이상 사용되지 않는 클래스가 삭제되었습니다.
- org.apache.jmeter.protocol.http.modifier.UserParameterXMLContentHandler
- org.apache.jmeter.protocol.http.modifier.UserParameterXMLErrorHandler
- org.apache.jmeter.protocol.http.modifier.UserParameterXMLParser
- httpsampler.await_termination_timeout 은 이제 병렬 다운로드 스레드의 연결 유지 시간(초)인 httpsampler.parallel_download_thread_keepalive_inseconds 로 대체되었습니다 .
- JDBC 요청이 commons-dbcp2를 사용하도록 업데이트되었습니다. 이후 동작이 약간 다르므로 데이터베이스에 대해 올바른 "검증 쿼리"가 있는지 확인하십시오. 버그 58786 참조
- 다음 항아리가 제거되었습니다.
- excalibur-datasource-2.1.jar( 버그 59156 참조 )
- excalibur-instrument-1.0.jar( 버그 58786 참조 )
- excalibur-pool-api-2.1.jar( 버그 58786 참조 )
- excalibur-pool-impl-2.1.jar( 버그 58786 참조 )
- excalibur-pool-instrumented-2.1.jar( 버그 58786 참조 )
- htmllexer-2.1.jar( 버그 59037 참조 )
- htmlparser-2.1.jar( 버그 59037 참조 )
- 비누-2.3.1.jar
- jdom-1.1.3.jar( 버그 59156 참조 )
- JMeter가 허용하는 최대 리디렉션 수는 이제 20이고 이전에는 5였습니다. 이것은 httpsampler.max_redirects 속성으로 변경할 수 있습니다 . 버그 59382 참조
더 이상 사용되지 않고 제거된 요소
- MongoDB 요소(MongoDB 소스 구성, MongoDB 스크립트)는 더 이상 사용되지 않으며 다음 버전의 JMeter에서 제거됩니다. 더 이상 메뉴에 나타나지 않습니다. 필요한 경우 not_in_menu 속성을 수정합니다. JMeter 팀은 더 이상 사용하지 말라고 조언합니다. 버그 58772 참조
- 2.13 버전에서 더 이상 사용되지 않는 WebService(SOAP) 요청 및 HTML 매개 변수 마스크는 이제 사용 중단 전략 에 따라 제거되었습니다 . 해당 요소에서만 사용되던 클래스 및 속성이 삭제되었습니다.
- org.apache.jmeter.protocol.http.util.DOMPool
- org.apache.jmeter.protocol.http.util.WSDLException
- org.apache.jmeter.protocol.http.util.WSDLHelper
- 속성 soap.document_cache
- JAR soap-2.3.1도 제거되었습니다.
- __jexl 함수(예: JEXL 1)는 더 이상 사용되지 않으며 다음 버전에서 제거됩니다. 버그 58903 참조
- Spline Visualizer 수신기 및 분포 그래프 수신기는 더 이상 사용되지 않으며 JMeter의 다음 버전에서 제거됩니다. 더 이상 메뉴에 나타나지 않습니다. 필요한 경우 not_in_menu 속성을 수정합니다. JMeter 팀은 더 이상 사용하지 말라고 조언합니다. 버그 58791 참조
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 57696 - HTTP 요청: 리소스 다운로드가 실패할 때 responseMessage를 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57995 - HTTP 요청 파일에 FileServer를 사용합니다. Andrey Pokhilko(blazemeter.com의 andrey)가 구현하고 BlazeMeter Ltd.가 기고했습니다.
- 버그 58843 - HTTP 샘플러 GUI에서 사용 가능한 공간을 개선합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58852 - PUT 요청에 더 적은 메모리를 사용합니다. 업로드된 데이터는 더 이상 샘플러에 저장되지 않습니다. 이것은 POST 요청과 동일한 동작입니다.
- 버그 58860 - HTTP 요청: 오른쪽 클릭으로 HTTP 매개변수 테이블에 자동 변수 생성을 추가합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58923 - 포함된 리소스를 다운로드할 때 URI를 정규화합니다.
- 버그 59005 - HTTP 샘플러: WebDAV 동사( SEARCH )가 추가되었습니다.
- 버그 59006 - 기본 프록시 녹음 포트를 8888 로 변경하여 녹음 템플릿에 맞춥니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 58099 - 성능: HTTP 전용 시나리오의 경우에도 초기화를 피하기 위해 HttpClient SSL 컨텍스트를 느리게 초기화합니다.
- 버그 57577 - HttpSampler: 포함된 모든 리소스를 검색하고 " httpsampler.embedded_resources_use_md5 " 속성을 추가하여 md5만 계산하고 응답 데이터는 유지하지 않습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59023 - HttpSampler UI: 포함된 리소스 레이블을 재작업하고 기본 병렬 다운로드 수를 6 으로 변경 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59028 - SystemDefaultDnsResolver 싱글톤을 사용합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59036 - FormCharSetFinder: 사용되지 않는 HTMLParser 대신 JSoup 사용
- 버그 59034 - 병렬 다운로드 연결 관리가 현실적이지 않습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart) 및 Philippe Mouawad
- 버그 59060 - HTTP 요청 GUI: 매개변수를 위한 더 많은 공간을 확보하고 호환되지 않는 구성을 방지하기 위해 파일 업로드를 새 탭으로 이동합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59103 - HTTP 요청 Java 구현: 기본값 " http.java.sampler.retries "를 변경하여 HttpClient 동작에 맞게 정렬하고 이름을 의미 있게 만듭니다.
- 버그 59083 - HTTP 요청: 추가 메서드(WebDAV)를 쉽게 추가할 수 있도록 메서드 필드를 편집 가능하게 만듭니다.
- 버그 59118 - 프록시 레코더에 의해 기록된 대기 시간에 주석을 추가합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 59116 - 프록시에 의해 기록된 샘플러 이름에 접두사를 설정할 수 있는 가능성을 추가합니다. 부분적으로 Antonio Gomes Rodrigues의 패치(gmail.com의 ra0077)를 기반으로 합니다.
- 버그 59129 - HTTP 요청: 단순/고급 탭으로 GUI 단순화
- 버그 59033 - 병렬 다운로드: 다양한 MIME 유형에 대한 플러그인 파서를 허용하도록 파서 클래스 계층 구조를 재작업합니다.
- 버그 52073 - 임베디드 리소스 병렬 다운로드: 각 샘플에서 ThreadPoolExecutor의 종료를 방지하여 성능을 개선합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59190 - HTTP(S) 테스트 스크립트 레코더: 제안된 제외는 대소문자를 무시해야 합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 59140 - 병렬 다운로드: CSS 구문 분석을 추가하여 CSS 파일에서 링크 추출
- 버그 59249 - Http 요청 기본값: " 소스 주소 " 및 " 응답을 MD5로 저장 " 추가
- 버그 59382 - httpsampler.max_redirects 에 대한 보다 현실적인 기본값
기타 샘플러
- 버그 57928 - AccessLogSampler GUI에 프로토콜(http/https)을 정의하는 기능을 추가합니다. Jérémie Lesage 제공(jeci.fr의 jeremie.lesage)
- 버그 58300 - 기존 Java 샘플러가 Interruptible을 구현하도록 합니다.
- 버그 58160 - JMS 게시자: 파일 이름이 변경되면 파일 내용을 다시 로드합니다. Maxime Chassagneux(gmail.com의 maxime.chassagneux)가 기여한 패치를 부분적으로 기반으로 합니다.
- 버그 58786 - JDBC 샘플러: Excalibur DataSource를 최신 라이브러리 commons-dbcp2로 교체
- 버그 59205 - TCP 샘플러: 연결이 설정되면 샘플러에서 연결 시간을 설정합니다.
- 버그 59381 - JMSPublisher: FileChooserDialog 필터가 브라우저 버튼에 대해 작동하지 않습니다. Antonio Gomes Rodrigues(gmail.com의 ra0077)가 기여한 패치를 부분적으로 기반으로 합니다.
컨트롤러
- 버그 58406 - IfController: JavaScript 평가에 사용할 수 있는 경우 Nashorn 엔진 사용을 허용합니다.
- 버그 58281 - RandomOrderController: 임의화 알고리즘 성능을 개선합니다. Graham Russell 제공(ham1.co.uk의 jmeter)
- 버그 58675 - 모듈 컨트롤러: 오류 메시지를 쉽게 놓칠 수 있습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58673 - 모듈 컨트롤러: 대상 요소가 비활성화되면 기본 jtree 아이콘이 표시됩니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58674 - 모듈 컨트롤러: 트리에서 둘 이상의 노드를 선택할 수 없어야 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58680 - 모듈 컨트롤러: UI 향상. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58989 - Record controller gui : 녹음된 모든 샘플을 지우는 버튼을 추가합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
청취자
- 버그 58041 - 트리 보기 수신기에 샘플 데이터 유형이 표시되어야 합니다.
- 버그 58122 - GraphiteBackendListener: 서버 적중 메트릭을 추가합니다. Amol Moye(thomsonreuters.com의 amol.moye) 패치를 부분적으로 기반으로 합니다.
- 버그 58681 - GraphiteBackendListener: 샘플링이 발생하지 않은 경우 데이터를 보내지 않음
- 버그 58776 - 요약기가 더 읽기 쉬운 기간을 표시해야 합니다.
- 버그 58791 - 리스너 지원 중단: 분포 그래프(알파) 및 스플라인 시각화 도우미
- 버그 58849 - 결과 트리 보기: 매개변수 테이블에서 검색할 수 있도록 요청 http 보기에 검색 패널을 추가합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58857 - 결과 트리 보기: 요청 보기 http는 매개변수 테이블의 첫 번째 열 크기를 조정할 수 없습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58955 - 요청 보기 http가 multipart/form-data의 http 매개변수를 올바르게 표시하지 않습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 55597 - 결과 트리 보기: 기록된 샘플러에서 검색하기 위한 검색 기능 추가
- 버그 59102 - 결과 트리 보기: " view.results.tree.max_size " 에 대한 더 나은 기본값
- 버그 59099 - 백엔드 리스너: samplersList를 정규 표현식으로 고려할 가능성을 추가합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 59424 - Visualizer: 팝업 메뉴에 "지우기" 추가
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 58303 - SMIMEAssertion에서 bouncycastle API 사용을 변경하여 사용 중단 경고를 제거합니다.
- 버그 58515 - 새로운 JSON 관련 구성 요소: 보기 결과 트리의 JSON-PATH 추출기 및 JSON-PATH 렌더러. Ubik Load Pack에서 기부했습니다(ubikloadpack.com에서 지원).
- 버그 58698 - HTTP 권한 부여 관리자에서 인증 파일의 올바른 구문 분석.
- 버그 58756 - CookieManager: 쿠키 정책 선택 상자 콘텐츠는 쿠키 구현에 의존해야 합니다.
- 버그 56358 - 쿠키 관리자는 포트 간 쿠키 및 RFC6265를 지원합니다. Oleg Kalnichevski(apache.org의 olegk)에게 감사드립니다.
- 버그 58773 - TestCacheManager: HttpClient 4를 사용하는 CacheManager에 대한 테스트 추가
- 버그 58742 - CompareAssertion: GUI에서 다른 CompareAssertion 간에 전환할 때 TableEditor에서 데이터를 재설정합니다. Vincent Herilier의 패치 기반(gmail.com의 vherilier)
- 버그 59108 - TableEditor: 행을 위아래로 이동할 수 있습니다. Vincent Herilier 제공(gmail.com의 vherilier)
- 버그 58848 - 인수 패널: 인수를 추가할 때(추가 버튼 또는 클립보드에서) 테이블을 새 줄로 스크롤합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58865 - 정규식 추출기에서 빈 기본값을 허용합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59156 - XMLAssertion: XMLReader를 사용하여 jdom 종속성을 삭제합니다.
- 버그 59328 - CSVDataSet의 변수 이름에 대한 더 나은 도구 설명. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
기능
- 버그 58477 - __javaScript 기능: Java8 이상 버전에 대해 Nashorn 엔진 사용 허용
- 버그 58903 - commons-jexl3 및 더 이상 사용되지 않는 __jexl(1.1) 함수를 사용하는 __jexl3 함수 제공
I18N
일반적인
- 버그 58736 - 샘플 시간 초과 지원 추가
- 버그 57913 - 마지막으로 저장된 JMX 파일의 자동 백업. 제공: Benoit Vatan(gmail.com의 benoit.vatan)
- 버그 57988 - 테스트 계획에 요소를 빠르게 추가하기 위한 바로 가기( Ctrl + 1 ... Ctrl + 9 ). Andrey Pokhilko(blazemeter.com의 andrey)가 구현하고 BlazeMeter Ltd.가 기고했습니다.
- 버그 58100 - 성능 향상: Random을 ThreadLocalRandom으로 바꿉니다.
- 버그 58677 - TestSaveService#testLoadAndSave 가 잘못된 파일 세트를 사용합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58689 - 바로 가기를 추가하여 트리의 일부를 확장/축소합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58696 - Eclipse 프로젝트를 설정하기 위한 Ant 태스크 생성
- 버그 58653 - 부하 테스트 결과를 분석하는 데 도움이 되는 동적 그래프, 테이블이 포함된 새로운 JMeter 대시보드/보고서. Ubik-Ingenierie가 개발하고 Decathlon SA 및 Ubik-Ingenierie / UbikLoadPack이 기고함
- 버그 58699 - Workbench 변경 사항이 저장되지 않았거나 닫을 때 저장하라는 메시지가 표시되지 않았습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58728 - 이전 동작 속성 삭제
- 버그 57319 - HttpClient 4.5.2로 업그레이드하십시오. Oleg Kalnichevski(apache.org의 olegk)와 Gary Gregory(apache.org의 ggregory)의 큰 도움으로.
- 버그 58772 - MongoDB 관련 요소 사용 중단
- 버그 58782 - ThreadGroup: 인체 공학 개선
- 버그 58165 - GUI 모드에서 부하 테스트 시작 이후 경과된 시간을 표시합니다. 부분적으로 Maxime Chassagneux(gmail.com의 maxime.chassagneux)의 기여에 기반함
- 버그 58814 - JVM이 더 이상 MaxLiveObjectEvacuationRatio 옵션을 인식하지 않습니다 . 댓글에서 제거
- 버그 58810 - 구성 요소 카운터(및 기타): 확인란 토글 영역이 너무 큼
- 버그 56554 - JSR223 테스트 요소: 컴파일 캐시 키를 자동으로 생성합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58911 - 헤더 관리자: 헤더 관리자 간에 복사/붙여넣기가 가능해야 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58864 - 인수 패널: 위/아래로 매개변수를 이동할 때 선택 항목이 계속 표시되는지 확인합니다. Benoit Wiart(gmail.com의 benoit dot wiart)의 기여 기반
- 버그 58968 - 생각 시간이 포함된 스크립트를 기록할 수 있도록 새 템플릿을 추가합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 58978 - 설정 기본값: " jmeter.save.saveservice.assertion_results_failure_message "를 true로 전환합니다(2.13 이후).
- 버그 58991 - 설정 기본값: " jmeter.save.saveservice.print_field_names "를 true로 전환합니다(2.13 이후).
- 버그 57182 - 설정 기본값: " jmeter.save.saveservice.idle_time "을 true로 전환합니다(2.13 이후).
- 버그 58870 - TableEditor: 최소 크기가 너무 작습니다. Vincent Herilier 제공(gmail.com의 vherilier)
- 버그 58933 - JSyntaxTextArea: 글꼴을 설정하는 기능. Denis Kirpichenkov 제공(gmail.com의 denis.kirpichenkov)
- 버그 58793 - 빌드 및 기여 방법을 설명하는 개발자 페이지 만들기
- 버그 59046 - JMeter Gui 교체 컨트롤러는 이름과 선택 항목을 유지해야 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59038 - HTTPClient 3.1 관련 요소 사용 중단
- 버그 59094 - 이전 JMX 파일 형식 지원 중단
- 버그 59082 - " TestCompiler.useStaticSet " 매개변수를 제거합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59093 - 옵션 구문 분석 오류 메시지가 ' 손실 ' 될 수 있음
- 버그 58715 - 기능 요청: JMeter와 함께 groovy-all 번들
- 버그 58426 - 고해상도 장치(HiDPI)에서 JMeter 표시 개선(개선의 부분 1)
- 버그 59105 - TableEditor: 클립보드에서 행을 붙여넣고 여러 선택 항목을 삭제하는 기능을 추가합니다. Vincent Herilier 제공(gmail.com의 vherilier)
- 버그 59197 - 스레드 그룹: 팝업 메뉴가 있는 단일 스레드 그룹 또는 스레드 그룹 선택만 실행할 수 있어야 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59207 - 오류가 발생하면 errorsOrFatalsLabel 의 글꼴 색상을 빨간색으로 변경 합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 58941 - 유효성 검사 모드에서 스레드 그룹을 실행하는 새 스타터 생성( 1 스레드만, 1 반복, 일시 중지 없음 모두 사용자 정의 가능)
- 버그 59236 - JMeter 속성: 일부 정리
- 버그 59240 - Logkit용 slf4j 어댑터 도입(이를 통해 플러그인 및 코어 코드 내에서 slf4j를 사용할 수 있음)
- 버그 59153 - CSVDataSet이 존재하지 않는 파일에 액세스하는 경우 테스트를 중지합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 59320 - GenericTestBeanCustomizer가 있는 GUI의 더 나은 도구 설명(CSV 데이터 세트 구성, JDBC 연결 구성, 키 저장소 구성 등) . Antonio Gomes Rodrigues의 패치 기반(gmail.com의 ra0077)
- 버그 59171 - 샘플 결과 SaveConfig 대화 상자가 임의의 순서로 생성됨
- 버그 59425 - 도움말 창 내 도움말 페이지 누락에 대한 표시 오류
비기능적 변경
- httpclient, httpmime 4.5.2로 업데이트됨(4.2.6에서)
- tika-core 및 tika-parser 1.12로 업데이트됨(1.7에서)
- commons-math3 3.6.1로 업데이트됨(3.4.1에서)
- commons-pool2 2.4.2로 업데이트됨(2.3에서)
- commons-lang 3.4로 업데이트됨(3.3.2에서)
- rhino-1.7.7.1로 업데이트됨(1.7R5에서)
- jodd-3.6.7.jar로 업데이트됨(3.6.4에서)
- jsoup-1.8.3으로 업데이트됨(1.8.1에서)
- rsyntaxtextarea-2.5.8로 업데이트됨(2.5.6에서)
- slf4j-1.7.12로 업데이트됨(1.7.10에서)
- xmlgraphics-commons-2.0.1로 업데이트됨(1.5에서)
- commons-collections-3.2.2로 업데이트됨(3.2.1에서)
- commons-net 3.4로 업데이트됨(3.3에서)
- slf4j 1.7.13으로 업데이트됨(1.7.12에서)
- 버그 57981 - 최소 Java 7이 필요합니다. Graham Russell이 부분적으로 기고했습니다(ham1.co.uk의 jmeter).
- 버그 58684 - JMeterColor는 java.awt.Color 를 확장할 필요가 없습니다 . 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58687 - ButtonPanel이 죽어야 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58705 - org.apache.jmeter.testelement.property.MultiProperty 를 반복 가능하게 만듭니다 . 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58729 - 유지 관리를 위한 정리 추가 폴더
- 버그 57110 - 철자+문법 수정, 형식 지정, 주석 처리된 코드 제거 등 Graham Russell 제공(ham1.co.uk의 jmeter)
- help.txt 에서 JMeter 실행에 대한 올바른 지침 . 제공: Pascal Schumacher(gmx.net의 pascalschumacher)
- 버그 58704 - 비 회귀 테스트: 테스트 및 실행이 비 en_EN 로케일에서 실행되고 CSV 데이터 세트를 사용하는 JMX 파일을 사용하는 경우 Ant 태스크 일괄 테스트가 실패합니다.
- 버그 58897 - JUnit 테스트 코드를 개선합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58949 - LDAP 코드 정리. Benoit Wiart의 패치 기반(gmail.com의 benoit dot wiart)
- 버그 58897 - JUnit 테스트 코드를 개선합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58967 - JUnit 범주를 사용하여 GUI가 필요한 테스트를 제외합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59003 - ClutilTestCase testSingleArg8 및 testSingleArg9 가 동일합니다 .
- 버그 59064 - 아주 오래된 Avalon 형식 JTL(결과) 파일을 지원하는 OldSaveService 제거
- 버그 59165 - RSyntaxTextArea가 헤드리스 테스트와 호환되지 않음
- 버그 59021 - NumberProperty#compareTo 에서 다시 구현하는 대신 Double#compare 를 사용합니다.
- 버그 59037 - HtmlParserHTMLParser 및 htmlparser 및 htmllexer에 대한 종속성 삭제
- 버그 58465 - JMS 읽기 응답 필드의 이름이 잘못 지정되고 문서화됨
- 버그 58601 - SVN 개정 ID 에서 파일 자체의 sha1 합계로 saveservice.properties 수정에 대한 변경 확인 .
- 버그 58726 - jmeterthread.startearlier 매개변수를 제거합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58784 - JMeterUtils#runSafe sync/async awt 호출을 구성 가능하게 만들고 비동기 버전을 사용하도록 시각화 도우미를 변경합니다.
- 버그 58790 - CheckDirty의 문제 및 ActionRouter와의 관계
- 버그 59095 - 8년 전에 더 이상 사용되지 않는 UserParameterXMLParser를 제거합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59262 - 바이너리 jar 목록을 LICENSE에 추가합니다. 단위 테스트에 사용
- 버그 59353 - changes.xml의 "호환되지 않는 변경 사항" 부분에 "사용되지 않고 제거된 요소"를 추가합니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 57806 - " audio/x-mpegurl " MIME 유형이 ViewResultsTree에서 바이너리로 잘못 간주됩니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원).
- 버그 57858 - 샘플 메서드에서 RuntimeException 또는 IOException 이 발생할 때 HTTPHC4Impl에서 sampleEnd를 두 번 호출 하지 마십시오 .
- 버그 57921 - 연결 유지 " Connection " 응답 헤더가 없는 HTTP/1.1은 더 이상 무한 연결 유지를 사용하지 않습니다.
- 버그 57956 - JMeter가 bin 에서 시작되지 않은 경우 jmeter.properties 의 hc.parameters 참조가 작동하지 않습니다 .
- 버그 58137 - JMeter가 URL에 잘못된 문자가 포함된 포함된 URL을 다운로드하지 못합니다(이스케이프 처리되지 않음).
- 버그 58201 - 다른 http 샘플러에서 호스트 헤더의 포트 사용을 보다 일관되게 만듭니다.
- 버그 58453 - HTTP 테스트 스크립트 레코더: HTTP 헤더 캡처를 비활성화할 때 NullPointerException 발생
- 버그 57804 - HTTPS에서 클라이언트 인증서를 사용할 때 HTTP 요청이 캐시된 SSL 컨텍스트를 재사용하지 않음(HttpClient4 구현에 대해서만 수정됨)
- 버그 58800 - proxy.pause 기본값: 문서 수정
- 버그 58844 - 버튼 활성화/비활성화가 인수 패널에서 깨졌습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58861 - 인수 패널의 셀에서 위, 아래 또는 세부 정보를 클릭하면 새로 추가된 내용이 손실됩니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 57935 - SSL SNI 확장이 HttpClient 4.2.6에서 지원되지 않음
- 버그 59044 - Http 샘플러: 메서드가 POST 가 아닌 경우 멀티파트 인코딩을 선택할 수 없어야 합니다 . 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59008 - Http 샘플러: 프레임 깊이 제한에 대한 무한 재귀 SampleResult에 도달했습니다.
- 버그 58881 - HTTP 요청: HTTPHC4Impl은 서버가 " 수축 " 압축 을 사용할 때 예외를 표시합니다.
- 버그 58583 - HTTP RFC 2616/RFC 7230을 위반 하여 " connection: close " 를 보내지 않아 서버가 오작동하는 경우 HTTP 클라이언트가 연결을 닫지 못합니다 .
- 버그 58950 - 샘플러 간의 일시 중지가 서버에서 보낸 연결 유지를 초과할 때 NoHttpResponseException 이 발생함
- 버그 59085 - Http 파일 패널: 찾아보기 취소 시 데이터가 손실됩니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 56141 - HTTP 레코더를 사용할 때 응용 프로그램이 올바르게 작동하지 않습니다. Dan의 도움으로(yahoo.com의 java.junkee)
- 버그 59079 - " 자동으로 리디렉션 "을 사용할 때 " httpsampler.max_redirects " 속성이 적용되지 않습니다.
- 버그 58811 - http 샘플러 간에 인수를 붙여넣을 때 "Encode" 및 "Include Equals" 열이 손실됩니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
기타 샘플러
- 버그 58013 - SMTP 샘플러와 함께 사용하기 위해 기본 SSLContext에서 활성화된 모든 프로토콜을 활성화합니다.
- 버그 58209 - HashMap.put() 이 동기화 없이 여러 스레드에서 호출 되기 때문에 javasampler를 테스트할 때 JMeter가 중단됩니다 .
- 버그 58301 - 준비된 명령문 #27에 대해 setInt , setDouble , setDate , ... 와 같은 유형이 지정된 메소드를 사용하십시오 .
- 버그 58851 - 주석이 있는 JUnit 테스트가 작동할 수 있도록 hamcrest-core에 대한 종속성을 추가합니다.
- 버그 58947 - ConnectException 이 발생할 때 연결 메트릭이 잘못됨
- 버그 58980 - JMS 구독자는 1개의 메시지가 수신되는 한 성공적으로 반환됩니다. Harrison Termotto 제공(stonybrook.edu의 harrison dot termotto)
- 버그 59075 - JMS 게시자: 우선 순위 또는 만료 필드가 비어 있는 경우 NumberFormatException 이 발생합니다.
- 버그 59345 - SMTPSampler 연결 누수. Luca Maragnani의 패치 기반(gmail dot com의 luca dot maragnani)
컨트롤러
- 버그 58600 - IncludeController에서 검색할 때 올바른 파일 이름을 표시합니다.
- 버그 58678 - 모듈 컨트롤러: 대상 요소 선택을 제한합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58714 - 모듈 컨트롤러: 타이머를 자식으로 추가할 수 없어야 합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59067 - JMeter는 " 다음 스레드 루프 시작 "이 있는 스레드 그룹에서 어설션 오류가 발생한 후 " 부모 샘플 생성 "이 선택된 TransactionController의 자식인 컨트롤러를 반복하지 못합니다 . 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59076 - 모듈 컨트롤러가 대체 하위 트리를 찾을 수 없는 경우 테스트가 실패해야 합니다.
청취자
- 버그 58033 - SampleResultConverter는 TEXT가 아닌 데이터를 기록할 수 없다는 점에 유의해야 합니다.
- 버그 58845 - 요청 http 보기가 모든 매개변수를 표시하지 않습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58413 - ViewResultsTree: 요청 HTTP 렌더러가 앰퍼샌드(&)를 포함하는 매개변수를 올바르게 표시하지 않습니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59172 - SampleResult SaveConfig에서 일부 필드를 비활성화할 수 없습니다.
- 버그 58329 - 응답 시간 그래프 및 집계 그래프: 그래프를 파일에 저장은 그래프를 마지막으로 클릭한 이후 변경된 설정을 고려하지 않습니다. 제공: David Coppens(gmail.com의 dlcoppens)
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 58079 - HTTP CacheManager를 사용할 때 Vary 헤더 가 있는 HTTP 샘플을 캐시하지 마십시오 .
- 버그 58912 - 응답 어설션 gui: 둘 이상의 선택된 행을 삭제하면 하나의 행만 삭제됩니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
기능
- 버그 57825 - 최소값 이 최대 값 과 같으면 __Random 함수가 실패합니다 ( 버그 54453 과 관련된 회귀 ).
I18N
일반적인
- 버그 54826 - 결과 트리 보기에서 JSON으로 표시할 때 JSON 응답의 긴 문자열에서 실패하지 마십시오.
- 버그 57734 - Maven 임시 종속성이 2.13에 대해 올바르지 않음(Commons Pool 및 Math에 대한 고정 그룹 ID)
- 버그 57731 - TESTSTART.MS 는 NON GUI 분산 테스트의 서버 모드에서 시작된 첫 번째 테스트의 값을 항상 가집니다.
- 버그 58016 - 외부 SSL 공급자를 사용한 오류 유형 캐스팅. Kirill Yankov 제공(gmail.com의 myworkpostbox)
- 버그 58293 - SOAP/XML-RPC 샘플러 파일 브라우저가 NullPointerException을 생성 함
- 버그 58685 - JDatefield: 위/아래 화살표로 날짜를 수정합니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 58693 - Eclipse를 설정할 때 "출력 폴더 'jmeter/build' 내부에 출력 폴더 'jmeter/build/components'를 중첩할 수 없음" 수정
- 버그 58781 - 명령줄 옵션 " -? "가 알 수 없는 옵션을 표시 합니다.
- 버그 57821 - 명령줄 옵션 " -X --remoteexit "가 2.13 이후 작동하지 않습니다( 버그 57500 관련 회귀 ) .
- 버그 58795 - 일부 타사 플러그인 이 있는 GuiPackage#getTestElementCheckSum 에서 NPE가 발생할 수 있음
- 버그 58913 - JMeter를 닫을 때 취소가 " 내 테스트 계획을 파괴 "로 해석해서는 안 됩니다. 제공: Benoit Wiart(gmail.com의 benoit dot wiart)
- 버그 59096 - 검색 기능: 대소문자를 구분하지 않는 검색은 실제로 대소문자를 구분하지 않습니다.
- 버그 59193 - Thread.currentThread().getContextClassLoader() 를 통해 로드되지 않은 종속성에서 클래스에 액세스할 때 ant run_gui 가 ClassNotFoundException 또는 IllegalAccessError 와 함께 실패합니다 .
- 버그 59225 - 실행 중인 표시기 아이콘의 잘못된 표시. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
- 버그 56927 - 테스트 중 언어 변경 비활성화
- 버그 59391 - 분산 모드에서 클라이언트가 테스트 종료 시 비정상적으로 종료 됨
- 버그 59397 - build.xml 이 dist.executables를 Unix 시스템에서 실행 가능하게 만들지 않음
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 유빅 로드팩
- Benoit Vatan(gmail.com의 benoit.vatan)
- Jérémie Lesage(jeci.fr의 jeremie.lesage)
- Kirill Yankov(gmail.com의 myworkpostbox)
- Amol Moye(thomsonreuters.com의 amol.moye)
- Samoht-fr (https://github.com/Samoht-fr)
- Graham Russell(ham1.co.uk의 jmeter)
- Maxime Chassagneux(gmail.com의 maxime.chassagneux)
- Benoit Wiart(gmail.com의 benoit.wiart)
- 10종 경기 SA
- Ubik-Ingenierie SAS
- Oleg Kalnichevski(apache.org의 olek)
- Pascal Schumacher(gmx.net의 pascalschumacher)
- Vincent Herilier(gmail.com의 vherilier)
- Florent Sabbe(ubik-ingenierie.com의 f dot sabbe)
- Antonio Gomes Rodrigues(gmail.com의 ra0077)
- Harrison Termotto(stonybrook.edu의 harrison dot termotto
- Denis Kirpichenkov(gmail.com의 denis.kirpichenkov)
- Gary Gregory(apache.org의 ggregory)
- David Coppens(gmail.com의 dlcoppens)
- Luca Maragnani(gmail dot com의 luca dot maragnani)
- Philip Helger(http://www.helger.com)의 CSS Parser 및 버그 보고를 매우 신속하게 고려
- Irek Pastusiak(gmail.com의 the.automatic.tester)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- 야간 빌드에 대한 테스트 및 보고서를 위한 gmail dot com의 purnasatyap
- 야간 빌드에 대한 테스트 및 보고서를 위한 Sergey Batalin(mail dot ru의 sergey_batalin)
- Vincent Daburon(gmail dot com의 vdaburon) 야간 빌드에 대한 테스트 및 보고서 제공
우리가 다른 사람을 생략했다면 사과드립니다.
알려진 문제 및 해결 방법
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0 으로 표시됩니다 ( 버그 55510 참조 ).
-
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는
버그가
있습니다 .
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호
이것은 JMeter 작동에 영향을 미치지 않습니다. 이 문제는 Java 7b05부터 수정되었습니다. -
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. - Oracle Java 7 및 Mac Book Pro Retina Display를 사용하면 JMeter GUI가 흐릿하게 보일 수 있습니다. 이것은 알려진 Java 버그입니다. Bug JDK-8000629 를 참조하십시오 . 해결 방법은 이 문제를 해결하는 Java 7 업데이트 40 런타임을 사용하는 것입니다.
-
다음 오류가 발생할 수 있습니다.
java.security.cert.CertificateException: 인증서가 알고리즘 제약 조건을 준수하지 않습니다.
MD2(예: md2WithRSAEncryption)를 사용하는 서명 알고리즘 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하여 SSL 인증서(자신 또는 신뢰 체인에 있는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하는 경우. 이 오류는 Java 7 버전 u16(MD2) 및 버전 u40(1024비트 미만의 인증서 크기) 및 Java 8의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오. - Mac OSX에서 집계 그래프는 숫자에 대한 미러링 효과로 인해 잘못된 값을 표시합니다. 이것은 알려진 Java 버그로 인한 것입니다. 버그 JDK-8065373 을 참조하십시오 . 수정 사항은 JDK7_u79, JDK8_u45 이상을 사용하는 것입니다.
- 결과 보기 트리가 HTML 렌더러에서 일부 HTML 코드를 표시하지 못할 수 있습니다( 버그 54586 참조) . 이는 행/열 속성에서 " px " 단위 를 구문 분석하지 못하는 알려진 Java 버그 때문입니다. 버그 JDK-8031109 를 참조하십시오 . 수정 사항은 JDK9 b65 이상을 사용하는 것입니다.
- 키보드를 사용한 JTable 선택( SHIFT + up/down )은 Mac OSX의 JAVA 7에서 완전히 사용할 수 없습니다. 이것은 알려진 Java 버그 JDK-8025126 때문입니다 . 수정 사항은 JDK 8 b132 이상을 사용하는 것입니다.
버전 2.13
요약
새롭고 주목할만한
새로운 요소
Graphite 구현이 포함된 새로운 Async BackendListener
백엔드 수신기에 결과 데이터를 보낼 수 있도록 새로운 Async BackendListener가 추가되었습니다. JMeter는 Pickle 또는 Plaintext 프로토콜을 사용하여 Graphite 서버 에 결과를 보낼 수 있는 GraphiteBackendListenerClient와 함께 제공됩니다 . AbstractBackendListenerClient 를 확장하여 고유한 백엔드를 구현할 수 있습니다 . 이 백엔드는 데이터베이스(JDBC), 메시지 지향 미들웨어(JMS), 웹 서비스 또는 원하는 모든 것이 될 수 있습니다.
이것은 Grafana 및 InfluxDB 를 사용하여 얻을
수
있는 라이브
대시 보드의 종류입니다 .
핵심 개선 사항
새로운 연결 시간 측정항목
이 버전부터 connectTime이라는 새로운 메트릭이 추가되었습니다. 연결을 설정하는 시간을 나타냅니다. 기본적으로 CSV 또는 XML에 저장되지 않으므로 저장하려면 user.properties에 추가하십시오.
jmeter.save.saveservice.connect_time=true
집계 그래프 및 보고서
리스너 Aggregate Graph 및 Aggregate Report는 이전에 90 백분위수(이전 동작), 95 백분위수 및 99 백분위수가 추가되었으며 사용자 정의할 수 있음을 보여주었습니다.
원하는 백분위
수
값 을 설정하려면 user.properties에 추가하십시오
.
HTTP(S) 테스트 스크립트 레코더
이제 구성 요소는 인증 체계를 감지하고 올바른 메커니즘으로 미리 구성된 HTTP 권한 부여 관리자를 자동으로 추가할 수 있습니다.
HTTP 요청
CalDAV 동사(WebDAV에 대한 캘린더 확장) REPORT 및 MKCALENDAR가 HTTP 요청 샘플러에 추가되었습니다.
JDBC 요청
ResultSet은 객체로 얻을 수 있습니다. 이것은 BeanShell, JSR223 스크립트, …
분산 테스트
클라우드에서 분산 테스트를 더 잘 사용할 수 있도록 서버에서 테스트를 시작할 때 재시도 동작이 추가되었습니다. 자세한 내용은 이것을 읽으십시오 .
분산 테스트 성능
JMeter 2.13부터 스트리핑 모드(StrippingBatch가 기본 모드임)는 이제 SubResults에서 응답을 제거하여 네트워크 대역폭을 사용하도록 개선했습니다.
문서 새로고침
Felix Schumacher가 웹사이트를 위한 새로운 스타일(반응형 및 최신)을 만들었습니다. 특히 다음과 같은 문서가 새로 고쳐졌습니다.
GUI 개선
모듈 컨트롤러
모듈 컨트롤러는 이제 콤보 목록 대신 트리 보기에 대상 컨트롤러를 표시합니다.
도구 모음
JMeter의 도구 모음이 일부 아이콘(시작, 토글 등)에 대해 새로 고쳐졌습니다. 이제 아이콘에 대해 22x22, 32x32 및 48x48의 세 가지 크기를 사용할 수 있습니다.
선호하는 크기를 정의하는 속성은 다음과 같습니다.
jmeter.toolbar.icons.size=값22x22(기본 크기), 32x32 또는 48x48 값을 사용합니다.
22x22 픽셀 아이콘이 있는 도구 모음
32x32 픽셀 아이콘이 있는 도구 모음
48x48 픽셀 아이콘이 있는 도구 모음
HTTP(S) 테스트 스크립트 레코더
테스트 계획에 녹음 컨트롤러가 포함되어 있지 않은 경우 HTTP(S) 테스트 스크립트 레코더가 샘플을 녹음 컨트롤러로 보내도록 구성된 경우 새 경고 메시지가 나타납니다.
호환되지 않는 변경 사항
- 2.13부터 집계 그래프, 요약 보고서 및 집계 보고서는 이제 백분율을 %로 내보낸 후 GUI에 표시된 것과 다른 소수 값을 내보냅니다.
- 타사 플러그인은 버그 57586 수정의 영향을 받을 수 있습니다 . 상위 클래스에 의존하는 경우 HttpTestSampleGui의 하위 클래스가 ItemListener를 구현하는지 확인하십시오.
- 보고서 패키지가 제거되었으며 결과적으로 ApacheJMeter_report.jar 이 더 이상 생성되지 않습니다. 버그 57269 를 참조하십시오.
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 25430 - HTTP(S) 테스트 스크립트 레코더: HTTP 권한 부여 관리자를 채우도록 합니다. 부분적으로 Dzmitry Kashlach(gmail.com의 dzmitrykashlach) 패치를 기반으로 합니다.
- 버그 57381 - 대상 컨트롤러가 녹음 컨트롤러를 참조하고 녹음 컨트롤러가 없는 경우 HTTP(S) 테스트 스크립트 레코더에 오류가 표시되어야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57488 - 성능: 양방향 SSL 인증에 대한 SSLContext 재설정 개선
- 버그 57565 - SamplerCreator: 구현이 생성된 샘플러에 자식을 추가할 수 있도록 메서드를 추가합니다.
- 버그 57606 - HTTPSamplerBase#errorResult는 예외 시 샘플 레이블을 변경합니다.
- 버그 57613 - HTTP 샘플러: CalDAV 동사를 추가했습니다(REPORT, MKCALENDAR). 제공: Richard Brigham(teamaol.com의 richard.brigham)
- 버그 48799 - 사용 가능한 샘플 메트릭에 대한 연결을 설정하는 시간을 추가합니다. Andrey Pokhilko(blazemeter.com의 andrey)가 구현하고 BlazeMeter Ltd.와 Pieter Ennes(apache.org의 spam.ennes.nl)가 기고했습니다.
- 버그 57500 - 분산 테스트를 위한 재시도 동작을 도입합니다. Andrey Pokhilko와 Dzimitry Kashlach가 구현하고 BlazeMeter Ltd.가 기고했습니다.
기타 샘플러
- 버그 57322 - JDBC 테스트 요소: 호출 가능한 문에서 반환된 ResultSet(커서)를 처리하기 위해 ResultHandler를 추가합니다. Yngvi Þór Sigurjónsson 제공(gmail.com의 blitzkopf)
컨트롤러
- 버그 57561 - 모듈 컨트롤러 UI: 콤보 상자를 트리로 바꿉니다. 제공: Maciej Franek(gmail.com의 maciej.franek)
- 버그 57648 - 생성 시 TestFragment를 비활성화해야 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
청취자
- 버그 55932 - 새 수신기(Graphite, JDBC, 콘솔 등)를 쉽게 연결할 수 있도록 Async BackendListener를 만듭니다.
- 버그 57246 - BackendListener: Graphite 구현 만들기
- 버그 57217 - 집계 그래프 및 집계 보고서 개선 사항(구성 가능한 백분위수 3개, 둘 다에서 동일한 데이터, 코드 제외). Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57537 - BackendListener: 구현에서 샘플 삭제 허용
타이머, 어설션, 구성, 전처리 및 후처리
기능
- 버그 54453 - 성능 향상: __Random 함수에서 Random을 ThreadLocalRandom으로 대체
I18N
일반적인
- 버그 57518 - 여러 크기의 도구 모음 아이콘
- 버그 57605 - 테스트 계획을 로드하는 동안 오류가 발생하면 SaveService.loadTree 가 호출자에서 NPE로 이어지는 null 을 반환합니다 .
- 버그 57269 - org.apache.jmeter.reports 패키지 삭제
- 버그 53764 - 웹 사이트: 웹 사이트의 새 스타일 만들기
비기능적 변경
- jsoup-1.8.1.jar로 업데이트됨(1.7.3에서)
- tika-core 및 tika-parsers 1.7로 업데이트됨(1.6에서)
- commons-codec-1.10.jar로 업데이트됨(1.9에서)
- dnsjava-2.1.7.jar로 업데이트됨(2.1.6에서)
- jodd-3.6.4.jar로 업데이트됨(3.6.1에서)
- junit-4.12.jar로 업데이트됨(4.11에서)
- rhino-1.7R5로 업데이트됨(1.7R4에서)
- rsyntaxtextarea-2.5.6으로 업데이트됨(2.5.3에서)
- slf4j-1.7.10으로 업데이트됨(1.7.5에서)
- 버그 57276 - Java 5 이후로 RMIC가 더 이상 필요하지 않습니다.
- 버그 57310 - System.getProperty("file.separator") 를 File.separator 로 대체 합니다(" path.separator" 도 File.pathSeparator 로 ).
- 버그 57389 - 변환기에서 잠재적인 NPE 수정
- 버그 57417 - NullProperty에서 사용하지 않는 isTemporary 메서드 를 제거 합니다 . 이것은 2003년에 수행된 리팩토링에서 남은 것입니다.
- 버그 57418 - Workbench에서 사용하지 않는 생성자 제거
- 버그 57419 - 사용하지 않는 인터페이스 ModelListener를 제거합니다.
- 버그 57466 - IncludeController : 불필요한 집합 생성을 제거합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 콘솔 로거에 대한 JSyntaxTextArea 사용을 비활성화하기 위해 loggerpanel.usejsyntaxtext 속성 을 추가했습니다 (메모리 또는 기타 문제의 경우).
- 버그 57586 - HttpTestSampleGui: 인터페이스 ItemListener 구현 제거
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 57385 - "Follow Redirects"가 설정된 HTTP 요청에 대해 xml 결과에서 빈 스레드 이름을 가져옵니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57579 - "RETURN_NO_SAMPLE"이 사용되고(기본값) HTTP 캐시 관리자에서 "캐시 제어 사용/만료 헤더…"가 선택된 경우 기본 샘플에서 NullPointerException 오류가 발생합니다.
기타 샘플러
컨트롤러
- 버그 57447 - "사용자 지정 DNS 확인자 사용" 옵션이 활성화된 경우 사용자가 나열된 DNS 서버만 사용합니다.
청취자
- 버그 57262 - 집계 보고서, 집계 그래프 및 요약 보고서 내보내기: 헤더가 레이블 대신 키를 사용함
- 버그 57346 - 요약기: +(차이) 보고서에 잘못된 경과 시간 및 처리량이 표시됩니다.
- 버그 57449 - 분산 테스트: 제거 모드는 하위 결과에서 응답을 제거하지 않습니다(내장 리소스 다운로드를 사용하는 부하 테스트에 영향을 미침). Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57562 - 결과 트리 보기 CSS/JQuery 테스터: 구문에 오류가 있고 jmeter.log에서 예외가 발생하면 아무 일도 일어나지 않습니다.
- 버그 57514 - 집계 그래프, 요약 보고서 및 집계 보고서가 저장된 파일에 잘못된 백분율 보고를 표시합니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 57607 - 일정한 처리량 타이머: 반올림 오류로 인해 공유 모드에서 잘못된 처리량이 계산됨
일반적인
- 버그 57365 - 선택한 LAF가 너무 늦게 UIManager.setLookAndFeel 호출로 인해 올바르게 설정되지 않았습니다 . Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57364 - 옵션 < 모양과 느낌이 모든 창 LAF를 업데이트하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57394 - ClassTools#construct(String, int)를 사용하여 인스턴스를 생성할 때 정수가 무시되고 대신 기본 생성자가 사용되었습니다.
- 버그 57440 - DisableUndo가 고려되지 않아 LoggerPanel에 JSyntaxTextArea를 도입한 후 OutOfMemoryError가 발생합니다.
- 버그 57569 - FileServer.reserveFile - hasHeader가 true일 때 일관되지 않은 동작
- 버그 57555 - JMeter 2.12를 maven 종속성으로 사용할 수 없습니다. Pascal Schumacher 제공(t-systems.com의 pascal.schumacher)
- 버그 57608 - Solaris와 같은 이전 Unix 셸과의 시작 스크립트 호환성 수정
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- 유빅 로드팩
- Yngvi Þór Sigurjónsson(gmail.com의 blitzkopf)
- Dzmitry Kashlach(gmail.com의 dzmitrykashlach)
- 블레이즈미터(주)
- Benoit Wiart(gmail.com의 benoit.wiart)
- Pascal Schumacher(t-systems.com의 pascal.schumacher)
- Maciej Franek(gmail.com의 maciej.franek)
- Richard Brigham(teamaol.com의 richard.brigham)
- Pieter Ennes(apache.org at spam.ennes.nl)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- 새로운 BackendListener 및 Graphite Client 구현에 대한 철저한 테스트에 대해 Chaitanya Bhatt(gmail.com의 bhatt.chaitanya).
- 버그 57607 에 대한 명확한 보고서를 제공한 Marcelo Jara(hotmail.com의 marcelojara) .
알려진 버그
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0으로 표시됩니다( 버그 55510 참조 ).
-
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는
버그가
있습니다 .
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호
이것은 JMeter 작동에 영향을 미치지 않습니다. 이 문제는 Java 7b05부터 수정되었습니다. -
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. - Linux 시스템의 Java 1.6 및 Gnome 3에서는 JMeter 메뉴가 올바르게 작동하지 않을 수 있습니다(마우스 클릭과 메뉴 간 이동). 이것은 알려진 Java 버그입니다( 버그 54477 참조 ). 해결 방법은 Java 7 런타임(OpenJDK 또는 Oracle JDK)을 사용하는 것입니다.
- Oracle Java 7 및 Mac Book Pro Retina Display를 사용하면 JMeter GUI가 흐릿하게 보일 수 있습니다. 이것은 알려진 Java 버그입니다. Bug JDK-8000629 를 참조하십시오 . 해결 방법은 이 문제를 해결하는 Java 7 업데이트 40 런타임을 사용하는 것입니다.
-
다음 오류가 발생할 수 있습니다. java.security.cert.CertificateException:
SSL 인증서(신뢰 체인에 있는 SSL 인증서 자체 또는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하면 인증서가 알고리즘 제약 조건을 준수하지 않습니다. MD2(md2WithRSAEncryption과 같은) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하는 서명 알고리즘. 이 오류는 Java 7 버전 u16(MD2) 및 버전 u40(1024비트 미만의 인증서 크기) 및 Java 8의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오.
버전 2.12
요약
새롭고 주목할만한
자바 8 지원
이제 JMeter 2.12는 Java 8과 호환됩니다.
새로운 요소
크리티컬 섹션 컨트롤러
중요 섹션 컨트롤러를 사용하면 트리에서 섹션 실행을 직렬화할 수 있습니다. 테스트 중에 섹션의 한 인스턴스만 동시에 실행됩니다.
DNS 캐시 관리자
새로운 구성 요소인 DNS 캐시 관리자 ( 버그 56841 참조 )는 다음 테스트를 개선합니다.
- CDN(콘텐츠 전송 네트워크)
- DNS 로드 밸런싱.
- Amazon Elastic Load Balancer와 같은 로드 밸런서
핵심 개선 사항
Http 테스트 계획의 더 스마트한 기록
테스트 스크립트 레코더가 여러 면에서 개선되었습니다.
- 요청에서 변수를 더 잘 일치시켜 테스트 스크립트 레코더가 기록하는 동안 샘플러를 더 다양하게 변형할 수 있습니다.
- View Results Tree에서 기록에서 제외된 샘플을 필터링하는 기능을 사용하면 기록된 샘플러 분석에 집중할 수 있고 쓸모없는 샘플 결과에 신경 쓰지 않아도 됩니다.
- 이 버전의 레코더는 생성된 샘플러에 번호를 매기므로 결과 트리 보기에서 훨씬 쉽게 찾을 수 있으므로 더 나은 기록 기본값입니다. 트랜잭션 컨트롤러에서 샘플러를 그룹화하면 웹 페이지에서 내보낸 모든 요청을 새 트랜잭션 컨트롤러로 자식으로 만드는 것이 더 똑똑해집니다.
Webdav 요청 지원
이제 Http 요청의 HttpClient4 구현을 사용하여 WebDav 서버에 대해 테스트할 수 있습니다.
임베디드 리소스의 더 나은 처리
포함된 리소스 다운로드가 선택되면 JMeter는 사용자 에이전트 헤더를 사용하여 조건부 주석 정보 에 따라 조건부 주석 내에 포함된 리소스를 다운로드하거나 다운로드하지 않습니다 .
캐시된 리소스의 캐시 관리자(브라우저 캐시 시뮬레이션) 처리를 사용자 정의하는 기능
이제 캐시에서 리소스를 찾을 때 JMeter의 동작을 구성할 수 있습니다. 이는 cache_manager.cached_resource_mode 속성 으로 제어할 수 있습니다.
JMS 게시자/JMS 지점 간
이러한 샘플러에 대한 JMSPriority 및 JMSExpiration 필드를 추가하십시오.
메일 리더 샘플러
이제 검색할 메시지 수를 지정할 수 있습니다(모든 메시지가 검색되기 전). 또한 이제 메시지 헤더만 가져올 수 있습니다.
SMTP 샘플러
SMTP 샘플러 에 연결 시간 초과 및 읽기 시간 초과를 추가합니다 .
타이머 동기화
가상 사용자 그룹의 최대 대기 시간을 정의하기 위해 시간 초과를 추가합니다.
성능 개선
불필요한 동기화를 해제하여 Functions의 성능이 크게 향상되었습니다. __StringFromFile, __XPath 및 __BeanShell을 제외한 모든 함수와 관련이 있습니다. 버그 57114 를 참조하세요.
경합 지점을 피하기 위해 __jexl2 성능이 개선되었습니다( 버그 56708 참조).
GUI 개선
실행 취소/다시 실행 지원
실행 취소/다시 실행이 도입되었으며 사용자가 테스트 계획 트리에서 수행한 변경 사항을 실행 취소/다시 실행할 수 있습니다. 이 기능(알파 모드)은 기본적으로 비활성화되어 있으며 활성화하려면 undo.history.size=25 속성을 설정합니다.
결과 트리 보기
렌더러의 배치를 변경하고 사용자 지정 순서를 허용하여 뷰 결과 트리의 인체 공학을 개선합니다( view.results.tree.renderers_order 속성 사용 ).
응답 시간 그래프
응답 시간 그래프 리스너가 jmx 파일에서 설정을 저장/복원 하는 기능 추가 .
로그 뷰어
이 버전부터 JMeter의 로그 파일(jmeter.log)의 마지막 줄은 오른쪽 상단 모서리에 있는 경고 아이콘을 클릭하여 GUI에서 직접 볼 수 있습니다. 그러면 로그 뷰어 패널이 펼쳐지고 로그가 표시됩니다.
파일 열기
이제 "파일 열기 대화 상자"는 마지막으로 연 파일 폴더를 시작 폴더로 사용합니다( 버그 52707 참조).
알려진 버그
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0으로 표시됩니다( 버그 55510 참조 ).
-
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는
버그가
있습니다 .
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호
이것은 JMeter 작동에 영향을 미치지 않습니다. 이 문제는 Java 7b05부터 수정되었습니다. -
일부 Windows 시스템에서는 다음과 같은 경고가 표시될 수 있습니다.
java.util.prefs.Windows기본 설정 경고: 루트 0에서 prefs 루트 노드 Software\JavaSoft\Prefs를 열거나 만들 수 없습니다. x80000002. Windows RegCreateKeyEx(…)가 오류 코드 5를 반환했습니다.
수정 사항은 JMeter를 관리자로 실행하는 것입니다. 그러면 레지스트리 키가 생성됩니다. 그러면 JMeter를 일반 사용자로 다시 시작할 수 있으며 더 이상 경고가 표시되지 않습니다. - Linux 시스템의 Java 1.6 및 Gnome 3에서는 JMeter 메뉴가 올바르게 작동하지 않을 수 있습니다(마우스 클릭과 메뉴 간 이동). 이것은 알려진 Java 버그입니다( 버그 54477 참조 ). 해결 방법은 Java 7 런타임(OpenJDK 또는 Oracle JDK)을 사용하는 것입니다.
- Oracle Java 7 및 Mac Book Pro Retina Display를 사용하면 JMeter GUI가 흐릿하게 보일 수 있습니다. 이것은 알려진 Java 버그입니다. Bug JDK-8000629 를 참조하십시오 . 해결 방법은 이 문제를 해결하는 Java 7 업데이트 40 런타임을 사용하는 것입니다.
-
다음 오류가 발생할 수 있습니다. java.security.cert.CertificateException:
SSL 인증서(신뢰 체인에 있는 SSL 인증서 자체 또는 SSL 인증서 중 하나)를 사용하여 웹 사이트에서 HTTPS 요청을 실행하면 인증서가 알고리즘 제약 조건을 준수하지 않습니다. MD2(md2WithRSAEncryption과 같은) 또는 1024비트보다 작은 크기의 SSL 인증서를 사용하는 서명 알고리즘. 이 오류는 Java 7 버전 u16(MD2) 및 버전 u40(1024비트 미만의 인증서 크기) 및 Java 8의 보안 강화와 관련이 있습니다.
HTTPS 요청을 수행할 수 있도록 Java jdk.certpath.disabledAlgorithms 속성을 편집하여 Java 설치의 보안을 다운그레이드할 수 있습니다. 귀하의 경우에 따라 MD2 값 또는 크기 제한을 제거하십시오.
이 속성은 다음 파일에 있습니다.JAVA_HOME/jre/lib/security/java.security
자세한 내용은 버그 56357 을 참조하십시오.
호환되지 않는 변경 사항
- JMeter 2.12부터 모든 스레드 그룹의 활성 스레드와 현재 스레드 그룹의 활성 스레드는 기본적으로 CSV 또는 XML 결과에 저장됩니다( 버그 57025 참조) . 이것은 일반적으로 테스트 중에 실행 중인 스레드 수를 원하기 때문에 예상되는 동작입니다. 그러나 이전 동작으로 되돌리려면 jmeter.save.saveservice.thread_counts=false 속성을 설정하십시오.
- JMeter 2.12부터 메일 리더 샘플러는 검색된 메시지 수 대신 샘플 수에 대해 1을 표시합니다. 버그 56539 를 참조하세요.
- JMeter 2.12부터 캐시 관리자를 사용할 때 캐시에서 리소스가 발견되면 SampleResult가 생성되지 않습니다. 이전 버전에서는 빈 콘텐츠와 204 반환 코드가 있는 SampleResult가 반환되었습니다( 버그 54778 참조) . 이 경우를 처리하는 다양한 방법 중에서 선택할 수 있습니다 . jmeter.properties의 cache_manager.cached_resource_mode 를 참조 하십시오 .
- JMeter 2.12부터 로그 뷰어는 닫힐 때 더 이상 로그를 지우지 않으며 닫혀도 로그를 사용할 수 있습니다. 버그 56920 을 참조하십시오 . 이 구성 요소 구성에 대한 자세한 내용은 힌트 및 팁 > 디버그 로깅 활성화를 읽으십시오 .
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 55998 - HTTP 기록 - 포트 값을 사용자 정의 변수로 대체할 수 없음
- 버그 56178 - keytool 오류: AVA에서 잘못된 이스케이프된 문자: - 일부 문자는 이스케이프해야 합니다.
- 버그 56222 - jmeter.httpclient.strict_rfc2616=true이고 위치가 절대적이지 않은 경우 NPE
- 버그 56263 - DefaultSamplerCreator는 BrowserCompatible Multipart를 true로 설정해야 합니다.
- 버그 56231 - 리디렉션 위치 처리를 HC3/HC4 샘플러에서 HTTPSamplerBase#followRedirects()로 이동
- 버그 56207 - URL이 HC3.1 및 HC4 샘플러의 리디렉션에서 인코딩됩니다.
- 버그 56303 - 대상 컨트롤러의 콤보 목록 너비는 컨트롤러의 레이블 크기가 아니라 현재 패널 크기로 설정해야 합니다.
- 버그 54778 - 캐시에서 리소스를 찾을 때 HTTP 샘플러가 204를 반환하지 않아야 하며, 새로운 속성 cache_manager.cached_resource_mode로 구성할 수 있습니다.
기타 샘플러
- 버그 55977 - JDBC 풀 연결 유지 플러딩
- 버그 55999 - 콘텐츠가 표시를 초과할 때 jms 지점 간 샘플러의 스크롤 막대가 작동하지 않음
- 버그 56198 - JMSSampler: JMS 제공자의 JNDI 기본 구현이 Context.getEnvironment 계약 을 준수하지 않을 때 NullPointerException이 발생합니다.
- 버그 56428 - MailReaderSampler - mail.pop3s.* 속성을 사용해야 합니까?
- 버그 46932 - select 문에 지정된 별칭이 JDBC 요청에 대한 응답 데이터의 열 헤더로 사용되지 않습니다. Nicola Ambrosetti의 보고 및 분석을 기반으로 함
- 버그 56539 - 메일 판독기 샘플러: 검색할 메시지 수가 1보다 큰 경우 샘플 수는 검색된 메시지 수가 아닌 1만 표시해야 합니다.
- 버그 56809 - JMSSampler가 InitialContext를 너무 일찍 닫습니다. 제공: Bradford Hovinen(gmail.com의 hovinen)
- 버그 56761 - JMeter가 이미 중지된 JMS 연결을 중지하려고 하고 "연결이 닫혔습니다"를 표시합니다.
- 버그 57068 - 테스트 작업에 음수 기간을 입력하면 오류가 발생하지 않음
- 버그 57078 - LagartoBasedHTMLParser가 유형이 없는 입력이 포함된 페이지를 구문 분석하지 못함
- 버그 57183 - JMSSampler: 입력 문자열의 경우: "" java.lang.NumberFormatException(만료 또는 우선 순위 필드의 경우)
컨트롤러
- 버그 56243 - Foreach가 후속 반복에서 인덱스와 함께 잘못 작동함
- 버그 56276 - 루프 카운트가 0으로 평가되면 루프 컨트롤러가 손상됨
- 버그 56160 - IfController 내에서 WhileController를 사용할 때 StackOverflowError
- 버그 56811 - 결과 상태 작업 처리기 또는 스레드 그룹의 "다음 스레드 루프 시작" 및 테스트 작업의 "다음 루프 반복으로 이동"이 "상위 샘플러 생성"이 선택된 TransactionController에서 잘못 작동합니다.
청취자
- 버그 56706 - SampleResult#getResponseDataAsString()은 PostProcessors 및 ViewResultsTree에 영향을 주는 응답 본문에서 인코딩을 사용하지 않습니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57052 - ArithmeticException: / sampleCount가 0일 때 0
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 56162 - HTTP 캐시 관리자는 PUT/POST 등을 캐시해서는 안 됩니다.
- 버그 56227 - AssertionGUI: 마우스 선택 시 어설션의 NPE
- 버그 41319 - URLRewritingModifier: 매개변수 값이 URL로 인코딩되도록 허용
기능
I18N
- 버그 56111 - 독일어 번역의 "주석"이 올바르지 않습니다.
일반적인
- 버그 56059 - TextAreaEditor를 사용할 때 2.11과 호환되지 않는 이전 TestBeans
- 버그 56080 - Java 8 Early Access 빌드에서 변환 오류 com.thoughtworks.xstream.converters.ConversionException 발생
- 버그 56182 - bshclient.jar을 사용하여 bsh 스크립트를 트리거할 수 없습니다. 소켓이 예기치 않게 닫힙니다.
- 버그 56360 - HashTree 및 ListedHashTree가 Java 8로 컴파일되지 않음
- 버그 56419 - JMeter가 결과를 자동으로 저장하지 못함
- 버그 56662 - 수신기의 xml로 저장이 기억되지 않습니다.
- 버그 56367 - maven 중앙의 JMeter 2.11은 존재하지 않는 종속성을 트리거합니다. rsyntaxtextarea 2.5.1, 2.5.3으로 업그레이드
- 버그 56743 - mail2.xml의 잘못된 메일링 목록 아카이브. Felix Schumacher 제공(internetallee.de의 felix.schumacher)
- 버그 56763 - JMeter에서 사용하지 않는 Oracle 아이콘 제거(및 라이선스 누락)
- 버그 54100 - 언어 전환이 도구 모음 버튼 상태(활성화/비활성화)를 유지하지 못함
- 버그 54648 - 트리의 요소에서 CMD+C(키보드 단축키 또는 UI 메뉴 항목)를 사용할 때 OS X의 JMeter GUI가 충돌합니다.
- 버그 56962 - JMS GUI는 jndi.properties 확인란의 영향을 받는 모든 필드를 비활성화해야 합니다.
- 버그 57061 - 테스트 조각으로 저장이 깊이 선택된 노드를 복제하지 못합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57075 - BeanInfoSupport.MULTILINE 속성이 처리되지 않음
- 버그 57076 - BooleanPropertyEditor#getAsText()는 getTags()에 있는 값을 반환해야 합니다.
- 버그 57088 - ResultCollector.testEnded의 NPE
개량
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 55959 - I/O 문제로 인해 테스트 스크립트 레코더가 실패할 때 오류 메시지 개선
- 버그 52013 - 테스트 스크립트 레코더의 하위 보기 결과 트리가 테스트 스크립트 레코더 제외/포함 URL을 고려하지 않습니다. James Liang의 보고 및 분석을 기반으로 함
- 버그 56119 - 파일 업로드는 타이머를 사용하여 다른 모든 시도에 실패합니다. Keep-Alive 헤더를 보내지 않는 서버에 대해 유휴 시간 초과를 활성화합니다.
- 버그 56272 - MirrorServer는 상태 및 리디렉션에 대한 쿼리 매개변수를 지원해야 합니다.
- 버그 56772 - 포함된 리소스를 구문 분석할 때 IE 조건부 주석 처리
- 버그 57026 - HTTP(S) 테스트 스크립트 레코더: 더 나은 기본 설정. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57107 - 패치 제안: HTTP 샘플러에 DAV 동사를 추가합니다. Philippe Jung 제공(famille-jung.fr의 apache)
- 버그 56357 - 인증서가 알고리즘 제약 조건을 준수하지 않음: 이러한 새로운 보안 제약 조건에서 Java 설치를 제거하는 방법을 나타내는 메모 추가
기타 샘플러
- 버그 56033 - SMTP 샘플러에 연결 시간 초과 및 읽기 시간 초과 추가
- 버그 56429 - MailReaderSampler - 원하는 것이 아닌 경우 모든 메시지를 가져올 필요가 없습니다.
- 버그 56427 - MailReaderSampler 향상: 메시지 헤더만 읽기
- 버그 56510 - JMS 게시자/지점 간: JMSPriority 및 JMSExpiration 추가
컨트롤러
- 버그 56728 - 테스트 블록을 직렬화하는 새로운 중요 섹션 컨트롤러. Mikhail Epikhin(yandex.ru의 epihin-m)이 기여한 패치를 부분적으로 기반으로 합니다.
- 버그 57145 - RandomController: 더 나은 성능을 위해 Random 대신 ThreadLocalRandom을 사용하십시오.
청취자
- 버그 56228 - 결과 트리 보기: 렌더러의 배치를 변경하고 사용자 지정 주문을 허용하여 인체 공학을 개선합니다.
- 버그 56349 - "요약"은 요약 결과 생성 구성 요소의 잘못된 이름입니다. 설명서가 명확함
- 버그 56769 - 응답 시간 그래프 수신기가 jmx 파일에서 형식 설정을 저장/복원하는 기능을 추가합니다.
- 버그 57025 - SaveService: 더 나은 기본값, 기본적으로 스레드 수 저장
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 56691 - 타이머 동기화: 대기 시 시간 초과 추가
- 버그 56701 - HTTP 권한 부여 관리자/Kerberos 인증: 서버 포트가 80도 443도 아닐 때 SPN에 포트를 추가합니다. Dan Haughey(swinton.co.uk의 dan.haughey) 및 Felix Schumacher(internetallee의 felix.schumacher) 패치를 기반으로 합니다. 드)
- 버그 56841 - 새로운 구성 요소: CDN 테스트를 개선하기 위한 DNS 캐시 관리자. Dzmitry Kashlach(gmail.com의 dzmitrykashlach)의 패치를 기반으로 하며 BlazeMeter Ltd에서 기고했습니다.
- 버그 52061 - 정규식 추출기에서 요청 헤더에 대한 액세스를 허용합니다. Dzmitry Kashlach(gmail.com의 dzmitrykashlach)의 패치를 기반으로 하며 BlazeMeter Ltd에서 기고했습니다.
기능
- 버그 56708 - __jexl2는 여러 CPU 코어로 확장되지 않습니다. Mikhail Epikhin(yandex.ru의 epihin-m)이 제공한 분석 및 패치 기반
- 버그 57114 - 성능: 인스턴스 변수로 값만 있는 함수는 실행을 동기화하지 않아야 합니다. Ubik Load Pack 지원 및 Vladimir Sitnikov의 분석, Vladimir Sitnikov(gmail.com의 sitnikov.vladimir)가 제공한 패치 기반
I18N
일반적인
- 버그 21695 - Unix jmeter 시작 스크립트는 링크가 아니라 PATH에 있다고 가정합니다.
- 버그 56292 - 시작 파일에서 Java 버전 확인을 추가하고 Java v8 엔진일 때 일부 옵션을 비활성화합니다.
- 버그 56298 - JSR223 언어 표시에 사용할 엔진이 표시되지 않음
- 버그 56455 - 배치 파일: 비 NT Windows 셸 스크립트에 대한 지원 중단
- 버그 52707 - 파일 열기 대화 상자에서 마지막으로 연 파일 폴더를 시작 폴더로 사용합니다. Dzmitry Kashlach(gmail.com의 dzmitrykashlach)의 패치를 기반으로 하며 BlazeMeter Ltd에서 기고했습니다.
- 버그 56807 - ResultCollector 파일을 강제로 비우는 기능. 제공: Andrey Pohilko(ya.ru의 apc4)
- 버그 56921 - 템플릿: 포함된 리소스 케이스 및 URL 매개변수를 무시하도록 녹음 템플릿을 개선합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 42248 - 테스트 계획 트리 수정에 대한 실행 취소-재실행 지원. Andrey Pohilko(ya.ru의 apc4) 개발 및 BlazeMeter Ltd. 기여 Ubik Load Pack의 추가 기여(ubikloadpack.com에서 지원)
- 버그 56920 - LogViewer: 닫힌 경우에도 모든 로그 이벤트를 수신하도록 합니다. Ubik Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 57083 - CachedResourceMode 열거형을 단순화했습니다. Graham Russel 제공(ham1.co.uk의 graham)
- 버그 57082 - ComboStringEditor: equals를 덮어쓰는 내부 클래스에 hashCode를 추가했습니다. Graham Russel 제공(ham1.co.uk의 graham)
- 버그 57081 - java, xml, xsd, dtd, htm, html 및 txt 파일(이미지가 아님!)의 탭만 확인하도록 체크스타일 업데이트. 제공: Graham Russell(ham1.co.uk의 graham)
- 버그 56178 - 프록시 인증서를 생성하기 전에 사용자 이름에서 백슬래시를 실제로 바꾸십시오. Graham Russel 제공(ham1.co.uk의 graham)
- 버그 57084 - BeanShellClient에서 사용한 후 소켓을 닫습니다. Graham Russel 제공(ham1.co.uk의 graham)
비기능적 변경
- 버그 57117 - HTTPS 테스트 스크립트 레코더의 기본 암호를 SSLv3에서 TLS로 늘림
- commons-lang3 3.3.2로 업데이트됨(3.1에서)
- commons-codec 1.9로 업데이트됨(1.8에서)
- commons-logging 1.2로 업데이트됨(1.1.3에서)
- tika 1.6으로 업데이트됨(1.4에서)
- xercesImpl 2.11.0으로 업데이트됨(2.9.1에서)
- xml-apis 1.4.01로 업데이트됨(1.3.04에서)
- xstream 1.4.8로 업데이트됨(1.4.4에서)
- jodd 3.6.1로 업데이트됨(3.4.10에서)
- rsyntaxtextarea 2.5.3으로 업데이트됨(2.5.1에서)
- xalan 및 직렬 변환기를 2.7.2로 업데이트했습니다(2.7.1에서).
- jsoup-1.8.1.jar로 업데이트됨(1.7.3에서)
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- James Liang(andera.com의 jliang)
- Emmanuel Bourg(apache.org의 ebourg)
- Nicola Ambrosetti(gmail.com의 ambrosetti.nicola)
- 유빅 로드팩
- Mikhail Epikhin(yandex.ru의 epihin-m)
- Dan Haughey(swinton.co.uk의 dan.haughey)
- 펠릭스 슈마허(felix.schumacher at internetallee.de)
- Dzmitry Kashlach(gmail.com의 dzmitrykashlach)
- Andrey Pohilko(ya.ru의 apc4)
- Bradford Hovinen(gmail.com의 hovinen)
- 블레이즈미터(주)
- 그레이엄 러셀(ham1.co.uk의 그레이엄)
- Philippe Jung(famille-jung.fr의 아파치)
- Vladimir Sitnikov(gmail.com의 sitnikov.vladimir)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- 버그 56119 에 대한 도움을 받은 Oliver LLoyd(oliverrlloyd.com의 이메일)
- 버그 56243 및 버그 56276 에 대한 도움을 받은 Vladimir Ryabtsev(gmail.com의 greatvovan)
- 버그 54648 에 대한 피드백 및 테스트에 대한 Adrian Speteanu(gmail.com의 asp.adieu) 및 Matt Kilbride(gmail.com의 matt.kilbride)
- 실행 취소/다시 실행 기능에 대한 테스트 및 보고서에 대한 Shmuel Krakower(gmail.com의 shmulikk)
버전 2.11
요약
새롭고 주목할만한
HTTP(S) 테스트 스크립트 레코더 개선 사항
HTTP(S) 테스트 스크립트 레코더의 JMeter 2.10에 도입된 주요 변경 사항 이후 다음과 같은 개선 사항이 적용되었습니다.
- keytool 유틸리티의 누락 또는 잘못된 구성 감지 개선
- 새로운 시스템 속성 keytool.directory ( system.properties 참조 )를 사용하면 비표준 설치의 경우 keytool이 포함된 디렉터리를 구성할 수 있습니다.
JMS Publisher/Point to Point : JMS 헤더 속성에 입력된 값을 설정하는 기능 추가
JMS 게시자 및 JMS 지점 간 샘플러에서 이제 JMS 헤더 속성에 대한 값 클래스를 설정할 수 있습니다. 이전에는 String만 가능했습니다.
결과 트리 보기: XPath 테스터 추가
View Results Tree 리스너에서 새로운 XPath 테스터를 사용하여 XPATH 표현식을 테스트할 수 있습니다.
상호 SSL 인증 테스트를 보다 유연하게 수행할 수 있도록 JsseSslManager에서 인증서 키에 대한 클라이언트 별칭을 선택하는 기능
클라이언트 기반 인증서 인증을 테스트할 때 이제 "인증서 별칭을 보유하는 변수 이름"이라는 새 필드를 통해 사용하는 인증서를 더 잘 제어할 수 있습니다. 이 필드를 사용하면 인증을 위해 서버에 보낼 인증서를 선택할 수 있습니다. CSV 데이터 세트를 변수 값의 홀더로 사용할 수 있습니다.
"테스트 조각으로 저장" 옵션 추가
파일 메뉴에서 새 옵션을 사용하면 요소 그룹을 테스트 조각으로 저장할 수 있습니다.
요약자는 비 GUI 모드에서 기본적으로 활성화됩니다.
명령줄에서 JMeter를 실행하면 이제 JMeter가 Summariser 모드의 일부 통계를 표시합니다.
트랜잭션 컨트롤러: 새로 생성된 요소에 대한 기본 속성 변경 "타이머 지속 시간 포함…"
2.11부터 트랜잭션 컨트롤러는 타이머가 일시 중지되는 한 사전/사후 프로세서의 처리 시간을 제외하도록 기본적으로 구성됩니다.
알려진 버그
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- If Controller에 첫 번째 반복부터 항상 false인 조건이 있는 경우 리스너는 반복 횟수를 표시하지 않습니다( 버그 52496 참조). 참조 ). 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
- 녹색 상자 왼쪽에 표시되는 숫자는 활성 스레드 수/총 스레드 수입니다. 총 스레드 수는 로컬에서 실행되는 테스트에만 적용되며, 그렇지 않으면 0으로 표시됩니다( 버그 55510 참조 ).
-
Java 에는 버그 가 있습니다.
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호
이것은 JMeter 작동에 영향을 미치지 않습니다. 이 문제는 Java 7b05부터 수정되었습니다. - Linux 시스템의 Java 1.6 및 Gnome 3에서는 JMeter 메뉴가 올바르게 작동하지 않을 수 있습니다(마우스 클릭과 메뉴 간 이동). 이것은 알려진 Java 버그입니다( 버그 54477 참조 ). 해결 방법은 Java 7 런타임(OpenJDK 또는 Oracle JDK)을 사용하는 것입니다.
- Oracle Java 7 및 Mac Book Pro Retina Display를 사용하면 JMeter GUI가 흐릿하게 보일 수 있습니다. 이것은 알려진 Java 버그입니다. Bug JDK-8000629 를 참조하십시오 . 해결 방법은 이 문제를 해결하는 Java 7 업데이트 40 런타임을 사용하는 것입니다.
호환되지 않는 변경 사항
- 새 트랜잭션 컨트롤러를 생성할 때 버전 2.11부터 "생성된 샘플에 타이머 및 사전 사후 프로세서 기간 포함" 속성이 선택 해제됩니다.
- 비 GUI 모드에서는 2.11 요약기가 30초 빈도로 활성화되기 때문에
- JMeter는 리디렉션 처리에 더 관대하고 상대 위치를 허용하여 RFC2616에서 완화합니다. 이 동작을 변경하려면 jmeter.properties의 " jmeter.httpclient.strict_rfc2616 " 속성을 참조하십시오( 버그 55717 참조 ) .
- 새 응답 어설션을 생성할 때 "패턴 일치 규칙" 속성은 이제 버전 2.11부터 하위 문자열로 기본 설정됩니다.
버그 수정
HTTP 샘플러 및 테스트 스크립트 레코더
- 버그 55815 - Proxy#getDomainMatch가 와일드카드를 올바르게 처리하지 않습니다.
- 버그 55717 - URL이 HttpClient4 및 HttpClient3.1에 의해 상대 형식인 경우 리디렉션 처리가 잘못됨
기타 샘플러
- 버그 55685 - OS 샘플러: 시간 초과 옵션이 올바른 값을 저장 및 복원하지 않고 올바르게 초기화되지 않음 시간 초과
컨트롤러
- 버그 55816 - "타이머 기간 포함..."이 선택되지 않은 트랜잭션 컨트롤러는 마지막 하위 샘플러의 처리 시간을 무시하지 않습니다.
청취자
- 버그 55826 - RespTimeGraphVisualizer.internalList 필드의 목록에 대한 동기화되지 않은 동시 액세스
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 55694 - 어설션 및 추출기: 범위가 변수이고 변수가 누락된 경우 NullPointerException 방지
- 버그 55721 - HTTP 캐시 관리자 - no-store 지시문이 잘못 해석 됨
기능
- 버그 55871 - 숫자 앞/뒤에 공백 문자가 있는 경우 intSum() 함수의 잘못된 결과. James Liang의 제안에 따라 Milamber가 제공했습니다.
I18N
일반적인
- 버그 55739 - 원격 테스트: GUI 모드의 총 스레드가 유효하지 않은 총 스레드 수를 표시합니다.
개량
HTTP 샘플러 및 프록시
기타 샘플러
- 버그 55589 - JMS 게시자/지점 간: JMS 헤더 속성에 입력된 값을 설정하는 기능을 추가합니다.
컨트롤러
- 버그 55854 - 트랜잭션 컨트롤러: 새로 생성된 요소에 대한 기본 속성 변경 "타이머 기간 포함…"
청취자
- 버그 55610 - 결과 트리 보기: XPath 테스터 추가
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 55908 - 응답 어설션: 더 나은 성능을 위해 생성 시 패턴 일치 규칙을 기본적으로 하위 문자열로 변경
- 버그 54977 - JsseSslManager에서 인증서 키에 대한 클라이언트 별칭을 선택하여 상호 SSL 인증 테스트를 보다 유연하게 할 수 있는 기능. UBIK Load Pack 제공(ubikloadpack.com에서 지원)
기능
I18N
일반적인
- 버그 55693 - "테스트 조각으로 저장" 옵션 추가
- 버그 55753 - 파일 이름 필드에 설정된 값(있는 경우)에서 시작하도록 FilePanel 동작을 개선합니다. UBIK Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 55756 - HTTP 미러 서버: 헤더를 설정하는 기능 추가
- 버그 55852 - charset 값이 작은따옴표로 묶인 경우 구문 분석에 더 관대합니다.
- 버그 55857 - 성능: AbstractProperty는 예외 발생을 피하기 위해 공백을 테스트해야 합니다.
- 버그 55858 - 시작 성능: 시작 시 BeanInfoSupport는 던지는 대신 키 가용성을 테스트해야 합니다.
- 버그 55865 - 성능: HttpClient 4 및 3.1에서 기본적으로 부실 검사 비활성화
- 버그 55512 - 비 GUI 모드에서 기본적으로 요약기가 활성화되어야 합니다.
비기능적 변경
- rsyntaxtextarea-2.5.1.jar로 업데이트됨(2.5.0에서)
- (3.4.8) 및 jodd-lagarto-3.4.9.jar(3.4.9)에서 jodd-core-3.4.9.jar로 업데이트됨
- jsoup-1.7.3.jar로 업데이트됨(1.7.2에서)
- mail-1.5.0-b01로 업데이트됨(1.4.4에서)
- mongo-java-driver-2.11.3으로 업데이트됨(2.11.2에서)
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- James Liang(andera.com의 jliang)
- UBIK 로드 팩(ubikloadpack.com에서 지원)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- John Natsioulas(yahoo.com.au의 john_natsioulas)
- Antonio Gomes Rodrigues(gmail.com의 ra0077)
버전 2.10
요약
새롭고 주목할만한
핵심 개선 사항
새로운 성능 개선 사항
- 높은 처리량 테스트(일시 중지 없음)에서 성능이 크게 향상되었습니다( 버그 54777 참조).
- 순수한 HTTP 테스트의 성능을 향상시키는 불필요한 SSL 컨텍스트 재설정 문제가 수정되었습니다( 버그 55023 참조).
- JODD/Lagarto HTML Parser로의 전환 덕분에 HTML 페이지에 포함된 리소스의 구문 분석에서 중요한 성능 향상, 버그 55632 참조
트리 결과 보기의 새로운 CSS/JQuery 테스터
CSS/JQuery Extractor를 JMeter의 일급 시민으로 만드는 View Tree Results의 새로운 CSS/JQuery 테스터, 이제 표현식을 매우 쉽게 테스트할 수 있습니다.
HTTP(S) 녹음이 많이 개선되었습니다.
- HTTPS 사이트의 더 나은 기록, 하위 도메인을 사용하는 포함된 리소스는 JDK 7을 사용할 때 더 쉽게 기록됩니다 . 버그 55507 을 참조하십시오 . 업데이트된 문서 참조: HTTP(S) 테스트 스크립트 레코더
- 리디렉션은 이제 HTTP 프록시 서버에 의해 더 지능적으로 감지됩니다. 버그 55531 을 참조하십시오.
- HTTPS를 사용하는 엣지 케이스에 대한 많은 수정이 이루어졌습니다. 버그 55502 , 버그 55504 , 버그 55506을 참조하십시오.
- 많은 인코딩 수정이 이루어졌습니다. 버그 54482 , 버그 54142 , 버그 54293을 참조하십시오.
이제 새로운 MongoDB 소스 구성을 통해 테스트 MongoDB를 로드할 수 있습니다.
인증 관리자에 Kerberos 인증이 추가되었습니다.
이제 소스 IP 주소 외에 장치를 사용할 수 있습니다.
이제 새로운 MongoDB 스크립트를 통해 MongoDB 스크립트의 기능 테스트를 수행할 수 있습니다.
OS 프로세스 샘플러에 타임아웃이 추가되었습니다.
쿼리 시간 초과가 JDBC 요청에 추가되었습니다.
새로운 기능(__urlencode 및 __urldecode)을 사용하여 이제 URL 인코딩 문자를 인코딩/디코딩할 수 있습니다.
테스트 종료 후 NON-GUI JVM을 강제 종료하는 새 플래그를 추가하여 지속적인 통합이 쉬워졌습니다.
jmeter 속성을 참조하십시오.
jmeterengine.force.system.exitHttpSampler는 이제 DELETE Http 메서드가 본문을 가질 수 있도록 합니다(HC4 및 HC31 구현에서 작동). 이를 통해 예를 들어 Elastic Search API를 테스트할 수 있습니다.
임베디드 리소스 구문 분석을 개선하기 위해 2개의 HtmlParser 구현이 추가되었습니다.
HTML 페이지에 포함된 리소스를 구문 분석하는 데 사용할 구현을 선택할 수 있습니다. jmeter.properties 및 "htmlParser.className" 속성을 참조하세요.
- 최적의 성능을 위한 org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
- 가장 정확한 구문 분석 및 기능 테스트를 위한 org.apache.jmeter.protocol.http.parser.JSoupBasedHtmlParser
분산 테스트가 개선되었습니다.
-
이제 각 노드의 스레드 수가 컨트롤러에 보고됩니다.
- BatchSampleSender의 성능 향상( 버그 55423 )
- 2개의 SampleSender 모드 추가(StrippedAsynch 및 StrippedDiskStore), jmeter.properties 참조
ModuleController는 참조된 컨트롤러에 대한 변경 사항을 더 잘 처리하도록 개선되었습니다.
향상된 클래스 로더 구성, 버그 55503 참조
- 플러그인 종속성을 위한 새 속성 "plugin_dependency_paths"
- "search_paths", "user.classpath" 및 "plugin_dependency_paths" 속성은 이제 구성된 디렉토리의 모든 jar를 자동으로 추가합니다.
모범 사례 섹션이 개선되었습니다. JMeter를 최대한 활용하려면 이 섹션을 읽으십시오.
모범 사례 보기
GUI 및 인체 공학 개선
기존 템플릿에서 테스트 계획을 생성하거나 템플릿을 테스트 계획에 병합할 수 있는 새로운 템플릿 기능
이제 워크벤치를 저장할 수 있습니다.
구문 색상이 스크립트 요소(BeanShell, BSF 및 JSR223), MongoDB 및 JDBC 요소에 추가되어 코드를 훨씬 더 읽기 쉽게 만들고 CTRL+Z/CTRL+Y를 통해 UNDO/REDO를 허용합니다.
구문 색상이 있는 BSF 샘플러
구문 색상이 있는 JSR223 전처리기
이제 HTTP 샘플러와 같은 큰 텍스트 콘텐츠가 있는 테스트 요소 및 줄 번호 지정을 제공하고 CTRL+Z/CTRL+Y를 통해 UNDO/REDO를 허용하는 JMS 관련 테스트 요소에 대해 더 나은 편집기를 사용할 수 있습니다.
이제 JMeter GUI를 완전히 국제화할 수 있으며 나머지 문제가 모두 수정되었습니다.
현재 프랑스어에는 모든 레이블이 번역되어 있습니다. 다른 언어는 부분적으로 번역되어 있습니다. 현지화(번역가 가이드) 를 읽고 자유롭게 번역에 기여 하십시오.
테스트 계획의 요소 이동이 여러 면에서 개선되었습니다.
테스트 계획 트리의 요소 끌어서 놓기가 이제 여러 노드에서 훨씬 쉽고 가능합니다.
Java의 이 버그 로 인해 마지막 노드 이후에 노드를 삭제할 수 없습니다. 해결 방법은 이 마지막 노드 앞에 놓은 다음 방금 놓은 노드 앞에 마지막 노드를 끌어다 놓는 것입니다.
트리에서 요소를 이동하는 새로운 단축키가 추가되었습니다.
(alt + 위쪽 화살표) 및 (alt + 아래쪽 화살표) 부모 노드 내에서 요소 이동
(alt + 화살표 왼쪽) 및 (alt + 화살표 오른쪽) 트리 깊이에서 요소를 위아래로 이동
응답 시간 그래프 Y축의 크기 조정 가능
JUnit 샘플러는 이제 구성 오류에 대한 자세한 정보를 제공합니다.
알려진 버그
- 한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
- If Controller에 첫 번째 반복부터 항상 false인 조건이 있는 경우 리스너는 반복 횟수를 표시하지 않습니다( 버그 52496 참조 ). 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
- 웹 서비스 샘플러는 응답 상태를 계산하기 위해 HTTP 응답 상태를 고려하지 않으므로 비어 있지 않은 본문을 포함하는 응답 500은 성공한 것으로 간주됩니다( 버그 54006 참조) . 이 문제를 해결하려면 항상 응답을 읽고 응답 안에 응답 확인 텍스트를 추가해야 합니다.
- 녹색 상자 왼쪽에 나타나는 숫자는 활성 스레드 수/총 스레드 수이며 로컬에서 실행되는 테스트에만 적용됩니다. 클라이언트-서버 모드를 사용할 때 원격 시스템에서 시작된 스레드는 포함하지 않습니다( 버그 54152 참조 ).
-
Java 에는 버그 가 있습니다.
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호
이것은 JMeter 작동에 영향을 미치지 않습니다. 이 문제는 Java 7b05부터 수정되었습니다. - Linux 시스템의 Java 1.6 및 Gnome 3에서는 JMeter 메뉴가 올바르게 작동하지 않을 수 있습니다(마우스 클릭과 메뉴 간 이동). 이것은 알려진 Java 버그입니다( 버그 54477 참조 ). 해결 방법은 Java 7 런타임(OpenJDK 또는 Oracle JDK)을 사용하는 것입니다.
- Oracle Java 7 및 Mac Book Pro Retina Display를 사용하면 JMeter GUI가 흐릿하게 보일 수 있습니다. 이것은 알려진 Java 버그입니다. Bug JDK-8000629 를 참조하십시오 . 해결 방법은 이 문제를 해결하는 Java 7 업데이트 40 런타임을 사용하는 것입니다.
호환되지 않는 변경 사항
- SMTP 샘플러 는 이제 제목 필드가 비어 있는 경우 eml 파일 제목을 사용합니다.
- 이 버전에서는 테스트 결과 작성을 담당하는 PrintWriter에서 autoFlush가 꺼졌습니다. 그 결과 집중적인 테스트의 처리량이 향상되지만 JMeter 충돌의 경우 더 많은 테스트 데이터 손실이 발생할 수 있습니다(매우 드문 경우). 이전 동작으로 되돌리려 면 jmeter.save.saveservice.autoflush 속성을 true 로 설정하십시오 .
- 기능 도우미 대화 상자 의 바로 가기 는 이제 CTRL+SHIFT+F1(Mac OS의 경우 CMD + SHIFT + F1) 입니다. 원래 키 시퀀스 (Ctrl+F1) 가 일부 위치에서 작동하지 않았습니다(Java Swing ToolTipManager에 의해 사용됨). 따라서 바로 가기를 변경해야 했습니다.
- 요소가 더 이상 사용되지 않으므로 웹 서비스(SOAP) 요청 이 기본적으로 GUI에서 제거되었습니다. ( 본문 데이터 와 함께 HTTP 요청 사용, SOAP 웹 서비스 테스트 계획 작성 템플릿 참조 ), 표시해야 하는 경우 jmeter.properties 의 not_in_menu 속성을 참조하십시오.
- 트랜잭션 컨트롤러 는 이제 생성된 상위 샘플러 의 응답 코드 ( 생성된 상위 샘플러 가 선택된 경우 )를 이전 버전에서는 응답 코드 가 비어 있던 하위 중 하나가 실패하는 경우 실패한 첫 번째 하위의 응답 코드로 설정합니다.
- 이전 버전에서 IncludeController 는 스레드 그룹 내부에 있는 테스트 요소를 실행할 수 있었습니다 . 이 동작( 문서화되지 않음 )은 이상한 동작을 초래할 수 있습니다. 이 버전에서는 제거되었습니다( 버그 55464 참조 ). 테스트 요소를 포함하는 올바른 방법 은 Include Controller 문서에 명시된 대로 Test Fragment 를 사용하는 것 입니다.
- HttpClient 3.1 및 HttpClient 4.x 샘플러의 재시도 횟수가 0 으로 변경되었습니다 . 이전에는 기본값이 1이었고 예상치 못한 추가 트래픽이 발생할 수 있었습니다.
- 이 버전부터 HTTP(S) 테스트 스크립트 레코더 는 샘플이 이전 리디렉션의 결과인 경우를 감지하려고 시도합니다. 현재 응답이 리디렉션인 경우 JMeter는 리디렉션 URL을 저장합니다. 다음 요청이 수신되면 저장된 리디렉션 URL과 비교되고 일치하는 경우 JMeter는 생성된 샘플을 비활성화합니다. 이전 동작으로 되돌리려 면 proxy.redirect.disabling=false 속성을 설정하십시오.
- 이 버전부터 HTTP(S) 테스트 스크립트 레코더 에서 Grouping이 Put each group in a new Transaction Controller 로 설정된 경우 레코더는 Include duration of timer 및 pre-post processor 가 false로 설정된 트랜잭션 컨트롤러 인스턴스를 생성합니다. . 이 기본값은 보다 정확한 응답 시간을 반영합니다.
- __escapeOroRegexpChars 함수(ORO 예약 문자를 이스케이프 처리)가 더 이상 값을 자르지 않습니다( 버그 55328 참조 ).
- commons-lang-2.6.jar 는 런타임에 JMeter에 필요하지 않기 때문에 jmeter/lib 폴더 의 임베디드 라이브러리에서 제거되었습니다 (문서 생성을 위해 Apache Velocity에서만 사용됨). 플러그인 또는 이에 의존하는 타사 코드를 사용하는 경우 jmeter/lib 폴더 에 추가해야 합니다.
버그 수정
HTTP 샘플러 및 프록시
- 버그 54627 - JMeter 프록시 GUI: 긴 이름을 가진 샘플러가 있는 경우 샘플러 설정 유형이 전체 화면을 차지합니다.
- 버그 54629 - HTMLParser가 <object> 태그 URL을 추출하지 않습니다.
- 버그 55023 - SSL 컨텍스트 재사용 기능(51380)은 비 SSL 요청 성능/처리량에 부정적인 영향을 미칩니다. Brent Cromarty(yahoo.ca의 brent.cromarty)의 분석을 기반으로 합니다.
- 버그 55092 - 포함된 리소스 URL 형식이 잘못된 경우 "경고 - jmeter.protocol.http.sampler.HTTPSamplerBase: Null URL이 감지되었습니다(발생하지 않아야 함)"라는 로그 메시지가 표시됩니다.
- 버그 55161 - SoapSampler.setPostHeaders에서 쓸모없는 처리. Adrian Nistor 제공(illinois.edu의 nistor1)
- 버그 54482 - HC가 인코딩되지 않은 문자로 리디렉션을 따르지 않습니다.
- 버그 54142 - 경로에 "|"가 포함된 경우 HTTP 프록시 서버에서 예외가 발생합니다. 캐릭터.
- 버그 55388 - HC3은 IP 소스 필드가 httpclient.localaddress를 재정의하는 것을 허용하지 않습니다.
- 버그 55450 - HEAD 리디렉션이 HEAD로 유지되어야 합니다.
- 버그 55455 - HTTPClient4가 있는 HTTPS가 cps 설정을 무시함
- 버그 55502 - 녹음 시 프록시가 빈 http:// 항목을 생성 함
- 버그 55504 - 브라우저에서 인증서 재정의를 요구할 때 프록시가 CONNECT 요청을 잘못 발행 함
- 버그 55506 - 프록시는 구성된 리스너에 실패한 요청을 전달해야 합니다.
- 버그 55545 - HTTP 프록시 서버 GUI에서 팔로우 및 자동 리디렉션 선택을 모두 허용해서는 안 됩니다.
기타 샘플러
- 버그 54913 - JMSPublisherGui가 상태를 잘못 복원합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 55027 - 테스트 작업 회귀, 기간 값이 기록되지 않습니다(야간 빌드).
- 버그 55163 - BeanShellTestElement는 testStarted(String)/testEnded(String)를 호출할 때 문자열을 인용하지 못합니다.
- 버그 55349 - 입력 파일이 지정되지 않고 애플리케이션이 입력을 요청하면 NativeCommand가 중단됩니다.
- 버그 55462 - 샘플이 실패할 경우 시스템 샘플러가 샘플러 레이블을 변경하지 않아야 함
컨트롤러
- 버그 54467 - 루프 컨트롤러: 상위 반복당 루프 값을 한 번만 계산합니다.
- 버그 54985 - 트랜잭션 컨트롤러가 생성된 상위 샘플러의 응답 코드를 자식 중 하나가 실패한 경우 실패한 첫 번째 자식의 응답 코드로 설정하도록 합니다. 제공: Mikhail Epikhin(yandex.ru의 epihin-m)
- 버그 54950 - ModuleController: 처음 실행 후 변경 사항이 발생하고 참조된 노드가 비활성화된 경우 참조된 모듈에 대한 변경 사항이 고려되지 않습니다.
- 버그 55201 - ForEach 컨트롤러는 시작 인덱스를 제외하고 종료 인덱스를 포함합니다(명확한 문서).
- 버그 55334 - TestPlan을 저장하지 않고 Include Controller를 테스트 계획(Include Controllers로 구성)에 추가하면 저장할 때까지 포함된 코드가 고려되지 않습니다.
- 버그 55375 - 이름이 대상 노드와 동일한 경우 비 GUI 모드에서 ModuleController에 StackOverflowError가 발생합니다.
- 버그 55464 - 포함된 스레드 그룹을 실행하는 포함 컨트롤러
청취자
- 버그 54589 - html 페이지가 2바이트 문자 집합을 사용하는 경우 결과 보기 트리에 많은 쓰레기 문자가 있습니다.
- 버그 54753 - 통계 모드를 사용할 때 key_on_threadname=false인 경우 SampleResult.getSampleLabel()에서 StringIndexOutOfBoundsException이 발생합니다.
- 버그 54685 - "sample_variable"이 클라이언트에는 설정되어 있지만 서버에는 설정되지 않은 경우 ArrayIndexOutOfBoundsException이 발생합니다.
- 버그 55111 - ViewResultsTree: 세로 스크롤 막대가 필요한 경우 텍스트가 다시 맞춰지지 않습니다. Milamber 제공
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 54540 - "HTML 매개변수 마스크"가 IHM에서 더 이상 사용되지 않는 것으로 표시되지 않습니다.
- 버그 54575 - CSS/JQuery 추출기: JODD 구현을 선택하면 항상 JSOUP을 사용합니다.
- 버그 54901 - 응답 어설션 GUI가 이상하게 작동합니다.
- 버그 54924 - XMLAssertion은 응답 인코딩 대신 JMeter JVM file.encoding을 사용하고 threadlocal 변수를 정리하지 않습니다.
- 버그 53679 - 현지화와 함께 일정한 처리량 타이머 버그. Ludovic Garcia가 보고함
기능
- 버그 55328 - __escapeOroRegexpChars가 공백을 자릅니다.
I18N
- 버그 55437 - ComboStringEditor는 언어 변경 시 EDIT 및 UNDEFINED 문자열을 번역하지 않습니다.
- 버그 55501 - __char 함수의 프랑스어 설명에 대한 잘못된 인코딩입니다. 제공: Antonio Gomes Rodrigues(gmail.com의 ra0077)
일반적인
- 버그 54504 - 리소스 문자열을 찾을 수 없음: [clipboard_node_read_error].
- 버그 54538 - GUI: 컨텍스트 메뉴가 너무 큽니다.
- 버그 54847 - 트리 다중 선택으로 잘라내기 및 붙여넣기가 깨졌습니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54870 - 트리 드래그 앤 드롭으로 리프 노드가 손실될 수 있습니다(야간 빌드에 영향을 받음). 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 55056 - Data.append()에서 작업이 낭비되었습니다. Adrian Nistor 제공(illinois.edu의 nistor1)
- 버그 55129 - CVE-2013-1571, VU#225657에 따라 Javadoc 생성을 변경합니다.
- 버그 55187 - HTTP CacheManager에서 ONE_YEAR_MS를 계산할 때 정수 오버플로가 발생합니다.
- 버그 55208 - JSR223 언어 항목이 중복됩니다. 소문자로 접습니다.
- 버그 55203 - TestBeanGUI - 잘못된 언어 설정이 발견되었습니다.
- 버그 55065 - Spline3.converge()에서 쓸모없는 처리. Adrian Nistor 제공(illinois.edu의 nistor1)
- 버그 55064 - ReportTreeListener.isValidDragAction()에서 쓸모없는 처리. Adrian Nistor 제공(illinois.edu의 nistor1)
- 버그 55242 - 2.8로 업그레이드한 후 BeanShell 클라이언트 jar에서 예외가 발생합니다.
- 버그 55288 - JMeter는 HTTP 요청에 대해 기본적으로 0번의 재시도를 해야 합니다.
- 버그 55405 - lib/api 또는 lib/doc가 없으면 ant download_jars 작업이 실패합니다. 제공: Antonio Gomes Rodrigues.
- 버그 55427 - TestBeanHelper는 GenericTestBeanCustomizer에서 지원하지 않는 속성을 무시해야 합니다.
- 버그 55459 - 사용자가 다른 테스트 요소를 선택하면 ComboStringEditor를 사용하는 요소에서 입력 값이 손실됩니다.
- 버그 54152 - 분산 테스트에서: activeThreads는 GUI 및 Summariser에서 항상 0을 표시합니다.
- 버그 55509 - 플러그인이 원격 스레드 번호 진행에 대해 알림을 받도록 허용
- 버그 55572 - 내용이 표시를 초과할 때 매개변수의 세부사항 팝업에 스크롤 막대가 표시되지 않음
- 버그 55580 - 도움말 창이 <a href="#"> 링크에 대해 시작하도록 스크롤되지 않습니다.
- 버그 55600 - JSyntaxTextArea: 첫 번째 실행 취소 시 이상한 동작
- 버그 55655 - 하나의 엔진이 올바르게 시작되지 않은 경우 원격 중지/종료 시 NullPointerException이 발생합니다. UBIK Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 55657 - 원격 및 로컬 중지/종료 버튼 상태가 로컬/원격 상태를 고려하지 않음
개량
HTTP 샘플러 및 프록시
- HTTP 요청: 행 매개변수 세부 정보 상자에서 작은 사용자 상호 작용이 개선되었습니다. Milamber 제공
- 버그 55255 - HTTP DELETE 메서드의 본문이 이를 사용하는 API(예: ElasticSearch)를 지원하도록 허용합니다.
- 버그 53480 - Http 샘플러(HttpClient4)에 Kerberos 지원을 추가합니다. Felix Schumacher의 패치 기반(internetallee.de의 felix.schumacher)
- 버그 54874 - 소스 IP 주소 외에 장치를 지원합니다. Dan Fruehauf의 패치 기반(gmail.com의 malkodan)
- 버그 55488 - 프록시 레코더의 기본 제안 제외에 .ico 및 .woff 파일 확장자를 추가합니다. 제공: Antonio Gomes Rodrigues
- 버그 55525 - 프록시는 키 서버 항목에 대한 별칭을 지원해야 합니다.
- 버그 55531 - 프록시 기록 및 리디렉션. 리디렉션된 샘플을 비활성화하는 코드가 추가되었습니다.
- 버그 55507 - 프록시 SSL 기록이 외부 임베디드 리소스를 잘 처리하지 않습니다.
- 버그 55632 - 더 나은 성능으로 구문 분석하는 임베디드 리소스에 대한 htmlParser의 새로운 구현이 있습니다.
- 버그 55653 - HTTP(S) 테스트 스크립트 레코더는 TransactionController 속성 "생성된 샘플에 타이머 및 사전 사후 프로세서 기간 포함"을 false로 설정해야 합니다.
기타 샘플러
- 버그 54788 - JMS 지점 간 샘플러 - 가독성과 사용 편의성을 높이기 위해 GUI가 향상되었습니다. 제공: Bruno Antunes(gmail.com의 bmantunes)
- 버그 54798 - SMTP 샘플러용 EML 파일의 제목 사용. 제공: Mikhail Epikhin(yandex.ru의 epihin-m)
- 버그 54759 - HTTPS를 사용하는 SSLPeerUnverifiedException, 속성이 문서화됨.
- 버그 54896 - JUnit 샘플러는 생성자 문제가 있는 "클래스의 인스턴스를 생성하지 못했습니다" 메시지만 표시합니다.
- 버그 55084 - JDBC 요청에 대한 시간 초과 지원을 추가합니다. 제공: Mikhail Epikhin(yandex.ru의 epihin-m)
- 버그 55403 - OS 샘플러 향상: 시간 초과 지원
- 버그 55518 - "Prepared Select Statement", "Prepared Update Statement" 또는 "Callable Statement" 쿼리 유형이 선택된 경우 연결당 캐시된 PreparedStatements 수를 제한하는 기능 추가
컨트롤러
- 버그 54271 - 테스트 계획의 이름을 바꾸면 모듈 컨트롤러가 중단됩니다.
청취자
- 버그 54532 - 응답 시간 그래프 Y축 스케일을 큰 값 또는 작은 값(< 1000ms)으로 개선합니다. 증분 배율을 정의하는 새 필드를 추가합니다. Luca Maragnani(gmail.com의 luca.maragnani) 패치를 기반으로 Milamber 제공
- 버그 54576 - 결과 트리 보기: CSS/JQuery 테스터를 추가합니다.
- 버그 54777 - 기본 ResultCollector의 성능을 개선합니다. Mikhail Epikhin의 패치 기반(yandex.ru의 epihin-m)
- 버그 55389 - 요청 데이터에 IP 소스 주소 표시
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 54789 - XPath 어설션 - 가독성과 사용 편의성을 높이기 위해 GUI가 향상되었습니다.
기능
- 버그 54991 - URL 인코딩 문자(__urlencode 및 __urldecode)를 인코딩/디코딩하는 기능을 추가합니다. Milamber 제공.
I18N
- 버그 55241 - 현지화된 표시 문자열이 있는 열거형을 기반으로 하는 필드를 처리하려면 GUI 편집기가 필요합니다.
- 버그 55440 - ComboStringEditor는 태그가 언어 종속적일 수 있도록 허용해야 합니다.
- 버그 55432 - 언어를 전환할 때 CSV 데이터 세트 구성이 공유 모드를 잃음
일반적인
- 버그 54584 - MongoDB 플러그인. Jan Paul Ettles의 패치 기반(gmail.com의 janpaulettles)
- 버그 54669 - 테스트 후 비 GUI JVM을 강제 종료하는 플래그를 추가합니다. 제공: Scott Emmons
- 버그 42428 - 워크벤치가 테스트 계획과 함께 저장되지 않았습니다. Dzmitry Kashlach 제공(gmail.com의 dzmitrykashlach)
- 버그 54825 - 트리에서 요소를 이동하는 바로 가기를 추가합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54834 - jmeter 트리에서 끌어서 놓기를 개선합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54839 - Mac에서 응용 프로그램 이름을 설정합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54841 - Mac Os(CMD-Q)에서 종료 바로 가기를 올바르게 처리합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54844 - Mac Os에서 응용 프로그램 아이콘을 설정합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54864 - Shift 또는 Control을 놓기 전에 드래그를 시작할 필요 없이 트리에서 다중 선택 드래그 앤 드롭을 활성화합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54945 - 종료 후크를 추가하여 종료 또는 CTRL+C 신호 트래핑을 활성화합니다.
- 버그 54990 - outOfMemory를 피하면서 대용량 파일을 다운로드합니다.
- 버그 55085 - UX 개선: 템플릿에서 새 테스트 계획을 만드는 기능. UBIK Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 55172 - 최상위 메뉴 및 메뉴 항목을 추가하는 방법을 플러그인에 제공합니다.
- 버그 55202 - RSyntaxTextArea를 사용하여 스크립트 요소(BeanShell, BSF 및 JSR223) 및 JDBC 요소에 대한 구문 색상을 추가합니다. Marko Vlahovic(gmail.com의 vlahovic74) 패치를 기반으로 Milamber 제공
- 버그 55175 - 더 나은 상속을 허용하는 HTTPHC4Impl 리팩토링.
- 버그 55236 - 템플릿 - 템플릿 세부 정보를 다시 로드하는 버튼을 제공합니다.
- 버그 55237 - 템플릿 시스템은 상대 fileName 항목을 지원해야 합니다.
- 버그 55423 - BatchSampleSender: listener.processBatch를 동기화된 블록 외부로 이동하여 잠금 단위를 줄입니다.
- 버그 55424 - 기존 SampleSenders에 스트리핑 추가
- 버그 55451 - 텍스트 콘텐츠가 스크롤 막대를 추가하기에 충분히 길 때 JSyntaxTextArea가 있는 테스트 요소 GUI가 아래로 스크롤됨
- 버그 55513 - StreamCopier는 출력 스트림을 닫을 때 System.err 또는 System.out과 함께 사용할 수 없습니다.
- 버그 55514 - SystemCommand는 임의의 입력 및 출력 스트림을 지원해야 합니다.
- 버그 55515 - SystemCommand는 명령 연결을 지원해야 합니다.
- 버그 55606 - Http 요청, JMS 테스트 요소에 JSyntaxtTextArea 사용
- 버그 55651 - JMeter 애플리케이션 아이콘을 Apache plume 아이콘으로 변경
비기능적 변경
- jsoup-1.7.2로 업데이트됨
- 버그 54776 - Bouncy Castle에 대한 종속성을 1.48로 업데이트합니다. Emmanuel Bourg 제공(apache.org의 ebourg)
- HttpComponents 클라이언트 4.2.6으로 업데이트됨(4.2.3에서)
- HttpComponents Core 4.2.5로 업데이트됨(4.2.3에서)
- commons-codec 1.8로 업데이트됨(1.6에서)
- commons-io 2.4로 업데이트됨(2.2에서)
- commons-logging 1.1.3으로 업데이트됨(1.1.1에서)
- commons-net 3.3으로 업데이트됨(3.1에서)
- jdom-1.1.3으로 업데이트됨(1.1.2에서)
- jodd-lagarto 및 jodd-core 3.4.8로 업데이트됨(3.4.1에서)
- Junit 4.11로 업데이트됨(4.10에서)
- slf4j-api 1.7.5로 업데이트됨(1.7.2에서)
- tika 1.4로 업데이트됨(1.3에서)
- xmlgraphics-commons 1.5로 업데이트됨(1.3.1에서)
- xstream 1.4.4로 업데이트됨(1.4.2에서)
- BouncyCastle 1.49로 업데이트됨(1.48에서)
- 버그 54912 - JMeterTreeListener는 상수를 사용해야 합니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 54903 - 활성화 프레임워크에 대한 종속성을 제거합니다. Emmanuel Bourg 제공(apache.org의 ebourg)
- Velocity에서만 필요하므로 commons-lang(2.6)을 lib/doc로 이동했습니다.
- NOTICE 및 LICENSE 파일을 재구성하고 단순화했습니다.
- 버그 55411 - NativeCommand는 다른 곳에서 유용할 수 있습니다. oajorphan.exec에 코드를 복사했습니다.
- 버그 55435 - ComboStringEditor를 단순화하여 대부분의 설정을 최종적으로 만들 수 있음
- 버그 55436 - ComboStringEditor는 ClearGui를 구현해야 합니다.
- 버그 55463 - Component.requestFocus()는 권장되지 않습니다. 대신 requestFocusInWindow() 사용
- 버그 55486 - 새로운 JMeter 로고. UBIK Load Pack 제공(ubikloadpack.com에서 지원)
- 버그 55548 - TestElement.ENABLED 사용을 정리합니다. 전체에서 TestElement.isEnabled()/setEnabled() 사용
- 버그 55617 - jorphan 수집이 개선되었습니다. 제공: Benoit Wiart(gmail.com의 benoit.wiart)
- 버그 55623 - 유효하지 않거나 예기치 않은 구성 값이 자동으로 무시되어서는 안 됩니다.
- 버그 55626 - HTTP 프록시 서버의 이름을 HTTP(S) 테스트 스크립트 레코더로 변경
감사
위의 버그 및 개선 섹션에서 언급된 모든 기여자에게 감사드립니다.
- Bruno Antunes(gmail.com의 bmantunes)
- Emmanuel Bourg(apache.org의 ebourg)
- 스콧 에몬스
- Mikhail Epikhin(yandex.ru의 epihin-m)
- Dzmitry Kashlach(gmail.com의 dzmitrykashlach)
- Luca Maragnani(gmail.com의 luca.maragnani)
- 마일버
- Adrian Nistor(illinois.edu의 nistor1)
- Antonio Gomes Rodrigues(gmail.com의 ra0077)
- UBIK 로드 팩(ubikloadpack.com에서 지원)
- Benoit Wiart(gmail.com의 benoit.wiart)
또한 JMeter를 개선하는 데 도움을 준 버그 보고자에게도 감사드립니다.
이번 릴리스의 경우 수정 후 명확한 보고서와 테스트를 제공한 다음 기자들에게 특별한 감사를 전합니다.
- Immanuel Hayden(gmail.com의 immanuel.hayden)
- Danny Lade(web.de의 dlade)
- Brent Cromarty(yahoo.ca의 brent.cromarty)
- 볼프강 하이더(wolfgang.heider at racon.at)
- Shmuel Krakower(gmail.com의 shmulikk)
버전 2.9
새롭고 주목할만한
핵심 개선 사항:
* CSS 또는 jquery와 유사한 선택기 구문을 사용하는 새로운 Extractor가 도입되어 JODD 또는 JSOUP 구현을 사용할 수 있습니다.
결과: JMeter 변수의 페이지 제목
* JMeter는 이제 다양한 요소 내에서 다양한 유형의 문서(PDF, MsOffice 파일, Apache OpenOffice 파일 등)를 처리할 수 있습니다.
- 정규식 추출기, 문서에서 텍스트 추출
- 어설션 응답, 문서의 텍스트 확인
- 결과 트리 보기, 문서를 텍스트로 보기
* 이전 응답에서 Regular Expression Extractor가 추출한 참조를 사용하여 입력 매개변수 이름과 값을 주입할 수 있는 새로운 Regex 사용자 매개변수 전처리기
* TCP 샘플러: 새로운 옵션
TCP 샘플러는 연결 닫기 , SO_LINGER 및 라인 끝(EOL) 바이트 값을 설정할 수 있는 새로운 옵션으로 향상되었습니다.
* 새로운 함수 __escapeOroRegexpChars(,) 가 도입되었습니다. quote ORO regexp 메타 문자
* ForEach 컨트롤러: 새로운 필드
ForEach 컨트롤러에는 루프의 시작과 끝을 제어하는 2개의 새로운 필드가 있습니다.
* 결과 상태 작업 처리기에 "다음 스레드 루프 시작"에 대한 새로운 옵션이 있습니다.
* JMS 게시자: 새로운 옵션
JMS 게시자는 이제 바이트 메시지를 보낼 수 있습니다.
* 메모리 및 성능 개선
두 개 이상의 포스트 프로세서가 샘플러의 자식으로 사용되는 경우 스레드 및 CPU당 메모리 사용량이 이 버전에서 크게 개선되었습니다.
JSR223 요소(Groovy, Scala 등을 스크립팅 언어로 사용 가능)가 개선되어 스크립트가 텍스트 영역에 전달될 때 컴파일 결과를 캐싱할 수 있습니다.
기본적으로 성능을 향상시키기 위해 일부 구성 기본값이 변경되었습니다( 버그 54412 참조). 신규 및 주목할만한 섹션의 설명을 참조하십시오.
- 분산 테스트는 이제 MODE_STRIPPED_BATCH를 사용하여 배치 모드에서 샘플을 반환합니다(기본적으로 100개 샘플마다 또는 1분마다). 또한 MODE_STRIPPED_BATCH는 SampleResult에서 응답 데이터를 제거하므로 필요한 경우 다른 모드(jmeter.properties의 모드 속성)로 변경합니다.
- 결과 데이터는 이제 기본적으로 CSV에 저장됩니다(jmeter.properties의 jmeter.save.saveservice.output_format).
* XPath Assertion은 이제 JMeter 변수를 입력으로 사용할 수 있습니다.
GUI 및 인체 공학 개선 사항:
* 요소의 더 많은 내부 필드 내에서 검색하고 검색 결과를 확장하도록 검색 기능이 개선되었습니다.
* 이제 2개의 JMeter 인스턴스 >= 2.9 버전 간에 복사/붙여넣기가 가능합니다.
하나의 JMeter 인스턴스에서 요소 복사:
요소를 두 번째 JMeter 인스턴스에 붙여넣습니다.
* HTTP 헤더 관리자
클립보드에서 HeaderPanel로 복사 허용, 헤더는 새 줄로 구분되어야 하며 다음과 같은 형식의 name:value 를 갖습니다.
* 모듈 컨트롤러
모듈 컨트롤러는 참조 컨트롤러를 더 잘 렌더링하고 새 버튼을 클릭하여 확장하도록 개선되었습니다.
* HTTP 프록시 서버
HTTP 프록시 서버에는 이제 URL 패턴에 대한 기본 제외 세트를 추가하는 버튼이 있습니다. 이 목록은 다음 속성을 통해 구성할 수 있습니다. proxy.excludes.suggested
* HTTP 프록시 서버에서 대상 컨트롤러의 렌더링이 개선되었습니다.
HTTP 프록시 서버 기록:
* HTTP 프록시 서버는 이제 이름 없는 인수(JSON, XML, GWT, …)가 하나만 있는 샘플에 대해 원시 포스트 본문 모드가 있는 HTTP 요청을 자동으로 사용합니다.
* HTTP 프록시 서버는 사용자가 HTTP 샘플러 설정에서 샘플러 유형을 선택하도록 강요하지 않습니다. 샘플러에는 더 이상 이 정보가 설정되어 있지 않기 때문에 구현 간에 더 쉽게 전환할 수 있습니다.
* SamplerCreator 인터페이스가 플러그인 제공업체에 대한 새로운 요구 사항을 충족하도록 강화되었습니다.
* 이제 proxy.binary.types 속성을 수정하여 application/x-www-form-urlencoded를 추가 하여 x-www-form-urlencoded POST 요청에 대한 바이너리 샘플러를 생성할 수 있습니다.
* CSV 파일을 읽을 때 타임스탬프 형식 자동 감지 개선
알려진 버그
한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
If Controller에 첫 번째 반복부터 항상 false인 조건이 있는 경우 리스너는 반복 횟수를 표시하지 않습니다( 버그 52496 참조 ). 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
웹 서비스 샘플러는 응답 상태를 계산하기 위해 HTTP 응답 상태를 고려하지 않으므로 비어 있지 않은 본문을 포함하는 응답 500은 성공한 것으로 간주됩니다( 버그 54006 참조) . 이 문제를 해결하려면 항상 응답을 읽고 응답 안에 응답 확인 텍스트를 추가해야 합니다.
언어를 변경하면 다음 요소 구성의 일부가 중단될 수 있습니다( 버그 53679 참조 ).
- CSV 데이터 세트 구성(공유 모드가 손실됨)
- 일정한 처리량 타이머(손실을 기준으로 처리량 계산)
녹색 상자 왼쪽에 나타나는 숫자는 활성 스레드 수/총 스레드 수이며 로컬에서 실행되는 테스트에만 적용됩니다. 클라이언트-서버 모드를 사용할 때 원격 시스템에서 시작된 스레드는 포함하지 않습니다( 버그 54152 참조 ).
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는 버그가 있습니다.
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호이것은 JMeter 작동에 영향을 미치지 않습니다.
호환되지 않는 변경 사항
JMeter에는 이제 Java 6 런타임 이상이 필요합니다.
기본적으로 성능을 개선하기 위해 일부 구성 기본값이 변경되었습니다( 버그 54412 참조). 신규 및 주목할만한 섹션의 설명을 참조하십시오.
Webservice 샘플러는 이제 헤더 관리자를 통해 설정된 헤더를 요청하기 위해 추가되며 이전에는 무시되었습니다.
jdbcsampler.cachesize 속성이 제거되었으며 이전에는 Map < String, PreparedStatement >의 연결당 캐시 크기를 제한했으며 SQL 쿼리에 대한 PreparedStatement를 보유하는 이 맵의 크기도 제한했습니다. 이 제한은 버그 버그 53995 를 유발했습니다 . 제거되었으므로 이제 이 2개의 지도 크기가 더 이상 제한되지 않습니다. 이 변경 사항은 이 버전부터 테스트 중에 PreparedStatement가 닫히지 않도록 동작을 변경합니다.
이 버전부터 JSR223 테스트 요소에 몇 가지 중요한 변경 사항이 있습니다.
- 잘못된 파일 이름(존재하지 않거나 읽을 수 없음)이 있는 JSR223 테스트 요소는 요소를 자동으로 작동시키는 대신 테스트를 실패하게 만듭니다.
- JSR223 테스트 요소: responseCodeOk, responseMessageOK 및 성공은 스크립트가 실행되기 전에 설정됩니다. responseData가 설정되면 스크립트 반환 값에서 toString()에 의해 더 이상 무시되지 않습니다.
결과 트리 보기는 이제 콘텐츠 유형이 누락된 응답을 텍스트로 간주합니다.
원격 테스트 모드에서 JMeter는 원격 엔진 중 하나를 구성할 수 없는 경우 오류로 종료됩니다. 이전에는 사용 가능한 엔진으로 테스트를 시작했습니다.
버그 수정
HTTP 샘플러 및 프록시
- 캐시 관리자 또는 CookieManager와 함께 동시 풀 내장 다운로드를 사용할 때 가짜 경고 메시지를 기록하지 마십시오.
- 버그 54057 - 시작 시 사용자 및 암호를 설정하는 프록시 옵션(-u 및 -a)이 HTTPClient 4에서 작동하지 않음
- 버그 54187 - 요청이 실패한 경우 요청 탭에 헤더가 표시되지 않음
- 버그 53840 - 프록시 녹음: 응답 메시지: URLDecoder: 이스케이프(%) 패턴의 잘못된 16진수 문자 - 입력 문자열의 경우: "" "
- 버그 54351 - HC4 및 URI 조각이 실패합니다.
기타 샘플러
- 버그 53997 - LDAP 확장 요청: XML 응답 데이터의 검색 필터 태그에서 이스케이프 앰퍼샌드(&), 왼쪽 꺾쇠 괄호(<) 및 오른쪽 꺾쇠 괄호(>)
- 버그 53995 - AbstractJDBCTestElement가 다중 스레드 간에 PreparedStatement를 공유합니다.
- 버그 54119 - HTTP 307 응답이 리디렉션되지 않음
- 버그 54326 - 사후에 AjpSampler가 파일을 보내면 FileNotFoundException이 발생합니다.
- 버그 54331 - AjpSampler가 보호되는 GET 요청에 대해 널 포인터를 던짐
컨트롤러
청취자
- 버그 54088 - video/f4m 유형이 바이너리가 아닌 텍스트입니다.
- 버그 54166 - ViewResultsTree가 HTML 응답을 렌더링할 수 없음: HTML 구문 분석 실패 처리
- 버그 54287 - 날짜 형식 필드의 시간과 함께 날짜를 사용할 때 응답 시간 그래프의 잘못된 타임스탬프
- 버그 54451 - 응답 시간 그래프가 동일한 시간에 많은 샘플이 있는 경우 잘못된 시간을 보고함
- 버그 54459 - CSVSaveService가 날짜 구문 분석을 잘 처리하지 않습니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 54058 - HTTP 요청 기본값에서 "임베디드 URL이 일치해야 함: 필드 값은 "모든 임베디드 리소스 검색" 확인란이 선택되지 않은 경우 저장되지 않습니다.
- 버그 54375 - 정규식 추출기: 정규식 구문이 잘못된 경우 사후 처리가 중지됩니다.
기능
I18N
일반적인
- 버그 53975 - "필요할 때까지 스레드 생성 지연" 옵션에서 변수 교체가 작동하지 않음
- 버그 54055 - 결과 트리 보기: = HTTP 탭의 매개변수 값에서 기호가 제거됨
- 버그 54129 - 요소에 존재하지만 검색 기능이 텍스트를 찾지 못합니다.
- 버그 54023 - 루트 디렉토리에서 JMeter를 시작할 수 없고 JMeter 설치의 전체 경로에 하나 이상의 공백이 포함된 경우(Unix/linux)
- 버그 54172 - 중복 단축키가 작동하지 않고 CTRL+C/CTRL+V/CTRL+V가 기본 이벤트를 취소하지 않음
- 버그 54057 - 시작 시 사용자 및 암호를 설정하는 프록시 옵션(-u 및 -a)이 HTTPClient 4에서 작동하지 않음
- 버그 54267 - 다음 스레드 루프 시작 설정이 사용자 지정 스레드 그룹에서 작동하지 않음
- 버그 54413 - DataStrippingSampleSender는 응답의 바이트 수에 대해 0을 반환합니다.
개량
HTTP 샘플러
- 버그 54185 - HTTP 또는 HTTPS로 시작하는 경로에서 쿼리 문자열 허용
기타 샘플러
- 버그 54004 - 웹 서비스 샘플러: 헤더 관리자로 요청할 헤더 추가 허용
- 버그 54106 - JSR223TestElement는 텍스트 영역 콘텐츠를 사용하는 대신 파일 이름이 설정된 경우 파일 존재를 확인해야 합니다.
- 버그 54107 - JSR223TestElement: 스크립트 텍스트의 컴파일 및 캐싱 활성화
- 버그 54109 - JSR223TestElement: 사용자가 다른 코드를 설정할 수 있도록 스크립트를 입력하기 전에 SampleResult 속성을 설정해야 합니다.
- 버그 54230 - TCP 샘플러, "연결 닫기", "SO_LINGER" 및 "행 끝(EOL) 바이트 값" 옵션 추가
- 버그 54182 - JMS 게시자용 ByteMessage 전송을 지원합니다.
컨트롤러
- 버그 54131 - ForEach 컨트롤러: 변수 반복을 위한 시작 및 종료 인덱스 추가
- 버그 54132 - 모듈 컨트롤러 GUI: 참조된 컨트롤러의 렌더링 개선
- 버그 54155 - ModuleController: 참조된 컨트롤러까지 트리를 펼치고 강조 표시하는 바로 가기 버튼을 추가합니다.
청취자
- 버그 54200 - 여러 문서 유형(Apache OpenOffice의 파일, MS Office의 파일, PDF 파일 등)에 대한 지원을 View Results Tree, Assertion Response 및 Regular Expression Extractor(Apache Tika 사용) 요소에 추가합니다.
- 버그 54226 - 결과 트리 보기: 서버가 ContentType 헤더를 반환하지 않는 경우에도 응답 표시
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 54259 - CSS 또는 jquery와 같은 선택기 구문을 사용하는 새로운 추출기 도입
- 버그 45772 - RegEx 사용자 매개변수 포스트 프로세서
- 버그 54160 - JMeter 변수에 적용할 xpath 어설션에 대한 지원을 추가합니다.
기능
I18N
일반적인
- 버그 54005 - HTTP 미러 서버: 응답 상태 및 응답 내용을 제어하기 위해 특수 헤더 "X-"를 추가합니다.
- 버그 53875 - HTTP 프록시의 URL 필터에 대해 제안된 기본값 포함
- 버그 54031 - 실행 중인/총 스레드 표시기에 툴팁 추가
- 웹 서비스(SOAP) 요청이 더 이상 사용되지 않음
- 버그 54161 - 프록시: x-www-form-urlencoded POST 요청에 대한 바이너리 샘플러를 생성할 수 있음
- 버그 54154 - HTTP 프록시 서버는 사용자가 HTTP 샘플러 설정에서 샘플러 유형을 선택하도록 강제해서는 안 됩니다.
- 버그 54165 - 프록시 서버: 대상 컨트롤러의 렌더링 개선
- 버그 46677 - 테스트 계획 간에 테스트 요소 복사
- 버그 54204 - 결과 상태 작업 처리기: 다음 스레드 루프 시작 옵션 추가
- 버그 54232 - 검색 기능: 검색 및 결과 확장을 위한 버튼 추가
- 버그 54251 - tristate 확인란 구현 추가
- 버그 54257 - 새로운 요구 사항을 충족하도록 SamplerCreator 인터페이스 향상
- 버그 54258 - 프록시: 샘플러에 이름 없는 인수가 하나 있을 때 원시 포스트 본문을 사용합니다. JSON, XML, GWT 본문 유형별로 POST 메서드를 사용하는 샘플러에 유용합니다.
- 버그 54268 - CPU 및 메모리 사용량 개선
- 버그 54376 - ScopePanel: 범위를 보다 정확하게 구성할 수 있습니다.
- 버그 54412 - 기본적으로 더 나은 성능을 보장하기 위해 JMeter 기본값을 변경합니다.
- 버그 54414 - 엔진 중 하나가 올바르게 시작되지 않으면 원격 테스트가 시작되지 않아야 함
비기능적 변경
- 버그 53956 - 헤더 관리자용 클립보드에서 붙여넣기(값 목록) 기능 추가
- HttpComponents 클라이언트 4.2.3으로 업데이트됨(4.2.1에서)
- HttpComponents Core 4.2.3으로 업데이트됨(4.2.2에서)
- 버그 54110 - BSFTestElement 및 JSR223TestElement는 공통 필드에 대해 공유 수퍼 클래스를 사용해야 합니다.
- 버그 54199 - Java 6으로 이동
- 라이노 1.7R4로 업그레이드
버전 2.8
새롭고 주목할만한
핵심 개선 사항:
스레드 그룹: 필요할 때까지 스레드 생성을 지연하는 새로운 옵션
테스트 시작 시 스레드를 생성하지 않고 필요할 때 스레드를 생성하고 시작하는 새로운 옵션 "필요할 때까지 스레드 생성 지연"
이 새로운 기능을 사용하면 수명이 짧은 수많은 스레드로 테스트를 실행할 수 있습니다.
HTTP 쿠키 관리자(IPv6 지원)
JMeter에 HTTPClient 4 쿠키 구현을 추가합니다.
이제 쿠키 관리자에 기본 HC3.1 구현 및 새로운 선택 HC4 구현(IPv6 주소 준수)이 있습니다.
메모리 및 성능 향상
이 버전에서는 JMeterThread의 메모리 사용량이 크게 개선되었습니다.
JSR223 요소(Groovy, scala 등을 스크립팅 언어로 사용 가능)가 다음을 가능하게 하도록 개선되었습니다.
- CPU 사용량을 높이기 위해 사용 가능한 경우 Compilable 인터페이스 사용
- 스크립트가 파일로 사용될 때 컴파일 캐싱
OS 프로세스 샘플러
stdout/stderr/stdin에 대한 파일 정의를 허용합니다.
HTTP 요청: PATCH 동사
HTTP 샘플러에 PATCH 동사 추가
HTTP 요청: 이제 HTTPClient 4가 기본 구현입니다.
HTTPClient 4는 이제 기본 HTTP 요청 구현입니다(HTTP 요청을 생성할 때 Proxy 요소용).
이전에는 기본값이 HTTP Java 구현(즉, JVM에서 제공한 구현)이었습니다.
HTTP 요청
HTTP 요청 기본값 컨트롤에 포함된 URL 필터 추가(이미 HTTP 요청에 존재함)
여러 가지 잡다한
- CSV 데이터 세트: 이제 인용된 데이터에서 포함된 새 행이 지원됩니다.
- JMX 파일에는 이제 파일을 생성한 JMeter 버전이 포함됩니다.
- JMeter 버전은 이제 "jmeter.version" 속성으로 사용할 수 있습니다.
보고 개선 사항:
응답 시간 그래프
새로운 시각화 도우미 응답 시간 그래프를 추가하여 테스트에 대한 응답 시간의 변화를 보여주는 선 그래프를 그립니다.
응답 시간 그래프 설정
표에서 결과 보기
테이블 리스너에서 결과 보기에 지연 시간 추가
집계 그래프
작은 개선 사항: 왼쪽 또는 오른쪽의 범례가 이제 1개의 열(큰 줄 1개 대신)에 있습니다. …
GUI 및 인체 공학 개선 사항:
HTTP 프록시 서버 단순화
JMeter 2.4부터 HTTPS 기록을 직접 사용할 수 있으므로 HTTPS 스푸핑 옵션이 프록시에서 제거되었습니다.
HTTP 프록시 서버
URL 필터를 클립보드에서 붙여넣을 수 있도록 허용
JMeter에서 찾기
새로운 찾기 기능의 경우 CTRL + F
이제 ESC 키를 누르면 팝업이 닫힙니다.그놈 3의 사용자 인터페이스
Gnome 3의 앱 제목 표시줄에 'Apache JMeter' 제목 표시
알려진 버그
한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
If Controller에 첫 번째 반복부터 항상 false인 조건이 있는 경우 리스너는 반복 횟수를 표시하지 않습니다( 버그 52496 참조 ). 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
언어를 변경하면 다음 요소 구성의 일부가 중단될 수 있습니다( 버그 53679 참조 ).
- CSV 데이터 세트 구성(공유 모드가 손실됨)
- 일정한 처리량 타이머(손실을 기준으로 처리량 계산)
일부 Linux 시스템의 Java에는 테스트 케이스 또는 JMeter 자체를 실행할 때 다음 오류로 나타나는 버그가 있습니다.
[java] 경고: 사용자 기본 설정을 플러시할 수 없습니다. java.util.prefs.BackingStoreException: java.lang.IllegalArgumentException: 지원되지 않음: 들여쓰기 번호이것은 JMeter 작동에 영향을 미치지 않습니다.
호환되지 않는 변경 사항
CacheManager를 사용할 때 JMeter는 이제 사양에 설명된 대로 헤더 Cache-Control이 "no-cache"와 다른 경우 GET 쿼리에 대한 응답을 캐시합니다. 또한 "캐시 없음" 응답에 대해 더 이상 사용되지 않는 캐시 항목에 넣지 않습니다. 버그 53521 및 버그 53522 참조
JSR223 테스트 요소에 주요 변경 사항이 발생했습니다. 이전에는 스크립트 실행 전에 설정한 변수가 실행당 한 번 생성된 ScriptEngineManager에 저장되었습니다. 이제 ScriptEngineManager는 모든 JSR223 요소에서 공유되는 단일 항목이며 ScriptEngine만 실행당 한 번 생성되고 변수가 설정됩니다. 스크립트 실행이 이제 각 실행에서 생성된 바인딩에 저장되기 전에 버그 53365 를 참조하십시오 .
ScriptEngine이 이 기능을 지원하는 경우 스크립트 파일을 사용하는 JSR223 테스트 요소가 이제 컴파일됩니다( 버그 53520 참조) .
기능 도우미 대화 상자의 바로 가기는 이제 CTRL+F1(Mac OS의 경우 CMD + F1)이고 CTRL+F(Mac OS의 경우 CMD+F1)는 이제 검색 대화 상자를 엽니다.
기본적으로 TestCompiler는 이제 정적 세트가 아닌 컨트롤러 인스턴스에서 본 쌍의 세부 정보를 저장합니다. [ 버그 53796 ] 사용되는 메모리가 동시 스레드 수에 비례하므로 지연된 시작 테스트 계획에 대해 훨씬 더 나은 메모리 동작을 제공합니다. 정적 Set 메모리 사용량은 총 스레드 수에 비례했습니다. 이 변경으로 인해 문제가 발생할 가능성은 거의 없습니다. TestCompiler.useStaticSet=true 속성을 설정하여 원래 동작을 복원할 수 있습니다.
JMeter 2.4부터 HTTPS 기록을 직접 사용할 수 있으므로 HTTPS 스푸핑 옵션이 프록시에서 제거되었습니다.
버그 수정
HTTP 샘플러 및 프록시
- 버그 53521 - 캐시 관리자는 Cache-control=private를 사용하여 콘텐츠를 캐시해야 합니다.
- 버그 53522 - 캐쉬 관리자는 "no-cache" 헤더가 있는 응답을 전혀 저장하지 않아야 하며 max-age 값을 갖는 다른 유형의 Cache-Control을 저장해서는 안 됩니다.
- 버그 53838 - "중지"를 눌러도 TCP 샘플러가 중단되지 않음
- 버그 53911 - JmeterKeystore는 인증서 목록의 키 다운을 허용하지 않습니다.
기타 샘플러
- 버그 53348 - JMeter JMS 지점간 요청 응답 샘플러는 요청 대기열과 수신 대기열이 다를 때 작동하지 않습니다.
- 버그 53357 - 요청 응답 모드에서 JMS 지점 간 보고가 너무 높은 응답 시간
- 버그 53440 - SSL 연결로 인해 JDK 6에서 일부 KeyManagerFactory SPI가 있는 ArrayStoreException이 발생합니다.
- 버그 53511 - 액세스 로그 샘플러 SessionFilter에서 NullPointerException 발생 - 쿠키 관리자가 제대로 초기화되지 않음
- 버그 53715 - JMeter가 WSDL을 로드하지 않음
컨트롤러
청취자
- 버그 53742 - jmeter.save.saveservice.sample_count가 true로 설정되면 리스너가 읽는 경과 시간은 항상 0과 같습니다.
- 버그 53774 - samplerData가 null이 아닌 경우 RequestViewRaw에 헤더가 표시되지 않습니다.
- 버그 53802 - IdleTime 값이 CSV 로그에 저장되지 않음
- 버그 53874 - 결과 트리 보기: %와 같은 특수 문자가 포함된 일부 매개변수가 인코딩되지 않은 경우 java.lang.IllegalArgumentException: URLDecoder: 이스케이프(%) 패턴의 잘못된 16진수 문자로 RequestViewHTTP가 실패하고 응답이 표시되지 않습니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 51512 - 쿠키가 IPv6 호스트 헤더가 있는 HTTP 요청에 삽입되지 않음
기능
I18N
일반적인
- 버그 53365 - JSR223TestElement가 ScriptEngineManager를 캐시해야 함
- 버그 53520 - JSR223 요소: Compilable 인터페이스를 사용하여 파일 스크립트의 성능 향상
- 버그 53501 - 동기화 타이머가 테스트 종료를 차단합니다.
- 버그 53750 - TestCompiler는 페어링 컬렉션에 불필요한 항목을 저장합니다.
- 버그 52266 - 코드:일관되지 않는 동기화
- 버그 53841 - CSVSaveService는 saveservice.properties에 구성된 인코딩을 사용하는 대신 JVM 기본 파일 인코딩을 사용하여 파일을 읽습니다.
- 버그 53953 신규: 모니터 테스트 계획 문서의 오타
개량
HTTP 샘플러
- 버그 53675 - HTTP 샘플러에 PATCH 동사 추가
- 버그 53931 - 기본 HTTP 요청(및 HTTP 요청을 생성하기 위한 프록시 요소)에 대해 HTTPClient 4를 정의합니다. 기본값 이전에는 HTTP Java 샘플러였습니다.
- 버그 53934 - JMeter HTTP 프록시 서버에서 HTTPS 스푸핑 옵션을 제거합니다. JMeter 2.4부터 HTTPS 프로토콜은 프록시에서 직접 지원됩니다.
기타 샘플러
- 버그 55310 - TestAction은 Interruptible을 구현해야 합니다.
- 버그 53318 - HTTP 요청 기본값 컨트롤에 포함된 URL 필터 추가
- 버그 53782 - 더 적은 메모리를 사용하도록 JavaSamplerClient 정리의 JavaSampler 처리 향상
- 버그 53168 - OS 프로세스 - stdout/stderr/stdin 지정 허용
- 버그 53844 - JDBC 관련 요소는 ClassCastException을 피하기 위해 JDBC 연결 구성을 포함해야 하는 변수 이름의 클래스를 확인해야 합니다.
컨트롤러
- 버그 53671 - 종료 테스트가 발생하는 경우에도 실행되는 tearDown 스레드 그룹
청취자
- 버그 53566 - jmeter 로그에 부분 응답을 기록하지 마십시오.
- 버그 53716 - 집계 그래프의 작은 개선 사항: 왼쪽 또는 오른쪽의 범례가 이제 1개의 열(큰 선 1개 대신)에 있고 참조의 정사각형 색상에 테두리가 없고 일부 필드의 너비가 줄어듭니다.
- 버그 53718 - 새로운 시각화 도우미 '응답 시간 그래프'를 추가하여 테스트에 대한 응답 시간의 변화를 보여주는 선 그래프를 그립니다.
- 버그 53738 - 시작 및 종료된 스레드 수를 추적합니다.
- 버그 53753 - 요약기: 대부분의 경우 분수 시간을 표시하는 포인트 없음
- 버그 53749 - TestListener 인터페이스가 분할될 수 있습니다. 이제 실제로 testIterationStart 기능을 사용하는 테스트 요소만 처리하면 되므로 스레드당 메모리 요구 사항과 처리가 줄어들 것입니다.
- 버그 53941 - 결과 테이블 수신기 보기에 대기 시간 추가
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 53755 - JMeter에 HttpClient 4 쿠키 구현 추가. 이제 쿠키 관리자에 기본 HC3.1 구현 및 새로운 선택 HC4 구현(IPv6 주소 준수)이 있습니다.
기능
- 버그 51527 - __time() 함수: 에포크 이후 *초*를 제공하기 위해 __time()에 다른 옵션을 추가합니다.
I18N
일반적인
- 버그 53364 - 함수 도우미 대화 상자의 함수 목록 정렬
- 버그 53418 - 테스트 시작 시 스레드를 생성하는 대신 필요할 때 스레드를 생성하고 시작하는 새로운 옵션 "필요할 때까지 스레드 생성 지연"
- 버그 42245 - HTTP 권한 부여 관리자에 명확한 암호 표시
- 버그 53616 - Gnome 3의 앱 제목 표시줄에 'Apache JMeter' 제목 표시
- 버그 53759 - ClientJMeterEngine이 SearchByClass(TestListener)를 사용하여 불필요한 트래버스를 수행합니다.
- 버그 52601 - 새로운 찾기 기능을 위한 CTRL + F
- 버그 53796 - TestCompiler는 크게 성장할 수 있는 정적 세트를 사용합니다.
- 버그 53673 - jmx 파일에 JMeter 버전 추가
- JMeter 비 GUI 및 GUI 클라이언트에 HeapDump 지원 추가
- 버그 53862 - JMeter 버전을 속성으로 사용할 수 있으면 좋을 것입니다.
- 버그 53806 - FileServer는 스레드로부터 안전한 구문 분석을 제공해야 합니다.
- 버그 53807 - CSV 데이터 세트가 인용 데이터에 포함된 새 줄을 처리하지 않습니다.
- 버그 53879 - GUI: ESC 키를 사용하여 팝업을 닫을 수 있음
- 버그 53876 - URL 필터(HTTP 프록시)를 클립보드에서 붙여넣을 수 있음
비기능적 변경
- 버그 53311 - JMeterUtils#runSafe는 중단될 때 오류를 발생시키지 않아야 합니다.
- commons-net-3.1로 업데이트됨(3.0.1에서)
- HttpComponents Core 4.2.2(4.1.4에서) 및 HttpComponents Client 4.2.1(4.1.3에서)으로 업데이트됨
- 버그 53765 - commons-lang3-3.1로 전환
- 버그 53884 - commons-lang에 대한 잘못된 Maven groupId
버전 2.7
새롭고 주목할만한
OS 프로세스 샘플러
로컬 시스템에서 명령을 실행하는 데 사용할 수 있는 새로운 시스템 샘플러.
DNS 조회 명령 'dig'를 사용한 OS 프로세스 샘플러 결과 예
JMS 샘플러 개선 사항
"Non-Persistent" 전송을 위한 "Non Persistent Delivery" 옵션 추가(최대 한 번만 전달되도록 보장. 메시지 손실은 문제되지 않음) JMS 메시지
XStream에 의해 XML에서 비정렬화된 개체를 보낼 수 있도록 JMS 개체 메시지 보내기 지원
JMS 게시자 샘플러를 통해 JMS 속성 설정 활성화
테스트 작업 샘플러
루프에서 조기 종료 허용
웹 서비스 샘플러 개선 사항
문서 캐시의 크기를 제어하기 위해 jmeter 속성 soap.document_cache 추가
HTTP 세션 유지를 구성 가능하게 만들기
집계 그래프: 평균, 중앙값, 90% 선, 최소 및 최대 열이 있는 클러스터형 막대 문자
클러스터형 막대 차트에 대한 집계 그래프 변경, 더 많은 열(중앙값, 90% 선, 최소, 최대) 및 옵션 추가, 일부 버그 수정
집계 그래프에 대한 새로운 설정
extras 폴더에서 JMeter Ant 작업에 의해 생성된 HTML 보고서 디자인 개선
HTML 보고서 예
일부 어설션 오류가 있는 HTML 보고서 예
메일러 시각화 도우미
- SSL 또는 TLS로 인증 및 연결 보안 활성화
- GUI 디자인 개선
- 국제화(i18n) 지원 추가
로그의 ERROR/FATAL 메시지 수에 대한 새로운 시각적 표시기
표시기는 로그의 ERROR/FATAL 메시지 수를 보여줍니다. 클릭하면 Log Viewer 패널을 토글할 수 있습니다.
매개변수 행의 세부 정보를 표시하는 대화 상자
행의 세부 사항을 표시하는 매개 변수 테이블에 세부 사항 버튼 추가
상세 상자 예
플러그인 작성자
새 인터페이스 org.apache.jmeter.engine.util.ConfigMergabilityIndicator가 도입되어 ConfigTestElement를 샘플러에서 병합할 수 있는지 여부를 알려줍니다(
버그 53042 참조 ).
공개 부울 적용(ConfigTestElement configElement);
새 인터페이스 org.apache.jmeter.protocol.http.proxy.SamplerCreator를 사용하면 기본 HTTP 샘플러와 다른 HTTP 기반 샘플러를 기록 단계에서 프록시를 통해 연결할 수 있습니다(
버그 52674 참조 ).
공개 문자열[] getManagedContentTypes();
공개 HTTPSamplerBase createSampler(HttpRequestHdr 요청, Map<문자열, 문자열> pageEncodings, Map<문자열, 문자열> formEncodings);
public void populateSampler(HTTPSamplerBase 샘플러, HttpRequestHdr 요청, Map<String, String> pageEncodings, Map<String, String> formEncodings) 예외가 발생합니다.
알려진 버그
한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
If Controller에 첫 번째 반복부터 항상 false인 조건이 있는 경우 리스너는 반복 횟수를 표시하지 않습니다( 버그 52496 참조 ). 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
호환되지 않는 변경 사항
사용자 정의 변수를 대체할 때 "정규 표현식 일치"가 사용될 때 프록시는 더 이상 부분 값을 대체하지 않습니다. Perl 5 단어 일치("\b")를 사용합니다.
사용자 정의 변수, 테스트 계획, HTTP 샘플러 인수 테이블, Java 요청 기본값, JMS 샘플러 및 게시자, LDAP 요청 기본값 및 LDAP 확장 요청 기본값에서 이름과 값이 비어 있는 행은 더 이상 저장되지 않습니다.
JMeter는 이제 테스트 계획 트리를 테스트 계획 수준으로 확장하고 더 이상 트리의 루트를 선택하지 않습니다. 또한 onload.expandtree의 기본값은 false입니다.
그래프 전체 결과 리스너가 제거되었습니다.
"모두 지우기" 명령을 호출할 때 로그 뷰어가 표시되면 내용이 지워집니다.
버그 수정
HTTP 샘플러 및 프록시
- 버그 52613 - 원시 포스트 본문 옵션을 사용하면 텍스트가 인코딩됩니다.
- 버그 52781 - 브라우저 호환 헤더가 선택된 경우에도 Content-Disposition 헤더가 깨짐(HC4)
- 버그 52796 - 새 구문 분석을 시작할 때 MonitorHandler가 변수를 지우지 못함
- 버그 52871 - HTTP 클라이언트 4에서 여러 인증서가 작동하지 않음
- 버그 52885 - 프록시: HTTPS 기록 문제, 보안으로 시작하는 쿠키가 부분적으로 잘림
- 버그 52886 - 프록시: 스푸핑이 켜져 있을 때 HTTPS 관련 기록 문제, 보안 쿠키가 항상 변경되지는 않음
- 버그 52897 - HTTPSampler: HTTPClient4 및 빈 콘텐츠 인코딩과 함께 PUT 메서드를 사용하고 파일을 전송하면 NullPointerException이 발생합니다.
- 버그 53145 - HTTP 샘플러 - 경로의 함수가 너무 일찍 평가됨
기타 샘플러
- 버그 51737 - TCPSampler: 패킷이 변환/손상됨
- 버그 52868 - BSF 언어 목록을 정렬해야 합니다.
- 버그 52869 - JSR223 언어 목록이 현재 잘못된 BSF 목록을 사용합니다.
- 버그 52932 - JDBC 샘플러: IOException, SQLException, IOException 클래스가 아닌 예외에서 샘플러가 오류로 표시되지 않음
- 버그 52916 - 빈 사용자 정의 변수가 있는 경우 JDBC 예외
- 버그 52937 - 웹 서비스 샘플러: 테스트 종료 시 비누 문서 캐시 지우기
- 버그 53027 - HTTP 쿠키 관리자 또는 HTTP 요청 기본값이 있는 테스트 계획에서 SMTP 샘플을 사용하는 동안 JMeter에서 예외가 발생하기 시작합니다.
- 버그 53072 - JDBC PREPARED SELECT 문은 준비되지 않은 SELECT와 같은 변수에 결과를 반환해야 합니다.
컨트롤러
- 버그 52968 - 스레드 그룹의 다음 루프 시작 옵션은 오류 발생 시 상위 트랜잭션 샘플러를 오류로 표시하지 않습니다.
- 버그 50898 - IncludeController: 포함자가 동일한 요소 이름을 사용하는 경우 비 GUI 모드에서 NullPointerException 로드 스크립트
청취자
- 버그 43450 - 리스너/세이버는 SampleResult 수가 항상 1이라고 가정합니다. 고정 요약 결과 생성
주장
- 버그 52848 - "XPath 어설션"의 NullPointer
기능
I18N
일반적인
- 버그 52639 - 로그가 활성화되지 않은 경우 로그 패널에 대한 JSplitPane 구분자를 숨겨야 합니다.
- 버그 52672 - 컨트롤러 변경 작업은 하나의 하위 샘플러를 제외한 모든 항목을 삭제합니다.
- 버그 52694 - GUI를 업데이트하는 비 AWT 스레드와 관련된 GUI의 교착 상태
- 버그 52678 - 프록시: UserDefinedVariables 대체를 수행할 때 부분 값을 대체해서는 안 됩니다.
- 버그 52728 - CSV 데이터 세트 구성 요소는 동일한 스레드 계획에서 BSF 샘플러와 공존할 수 없습니다.
- 버그 52762 - 다중 인증서 문제: 인덱스가 다시 시작될 때까지 첫 번째 인덱스가 사용되지 않음
- 버그 52741 - TestBeanGUI 기본값이 두 번째 이후에 작동하지 않음
- 버그 52783 - 초기 초기화로 인해 oro.patterncache.size 속성이 사용되지 않음
- 버그 52789 - 값이 null인 경우 Regexp 일치가 있는 프록시가 값 대체에서 NullPointerException과 함께 실패할 수 있음
- 버그 52645 - 프록시로 녹음하면 OutOfMemory가 발생합니다.
- 버그 52679 - 사용자 매개변수 열이 좁아짐
- 버그 52843 - 샘플 headerSize 및 bodySize가 하위 샘플에 대해 누적되지 않음
- 버그 52967 - GUI 모드에서 원격 서버와 함께 실행할 때 __P() 함수가 기본값을 사용할 수 없습니다.
- 버그 50799 - http 테스트 계획에 HTTP가 아닌 샘플러가 있으면 여러 헤더 관리자가 작동하지 않습니다.
- 버그 52997 - JMeter는 종료 전에 저장에 실패한 경우 테스트 계획을 저장하지 않고 종료하면 안 됩니다.
- 버그 53136 - 던질 수 있는 것을 잡는 것은 신중하게 처리해야 합니다.
개량
HTTP 샘플러
기타 샘플러
- 버그 52775 - JMS 게시자: 비영구 전달 옵션 추가
- 버그 52810 - JMS 게시자 샘플러를 통해 JMS 속성 설정 활성화
- 버그 52938 - 웹 서비스 샘플러: 문서 캐시의 크기를 제어하기 위해 jmeter 속성 soap.document_cache 추가
- 버그 52939 - 웹 서비스 샘플러: KeeptainSession을 구성 가능하게 만듭니다.
- 버그 53073 - JDBC CALLABLE의 OUT 결과를 JMeter 변수에 할당할 수 있습니다.
- 버그 53164 - 새로운 시스템 샘플러
- 버그 53172 - OS 프로세스 샘플러 - 환경 변수 지정 허용
- 버그 52936 - JMS 게시자: JMS 개체 메시지 전송 지원
컨트롤러
청취자
- 버그 52603 - MailerVisualizer: SSL, TLS 및 인증 활성화
- 버그 52698 - 그래프 전체 결과 수신기 제거
- 버그 53070 - 집계 그래프를 클러스터형 막대 차트로 변경하고 더 많은 열(중앙값, 90% 선, 최소값, 최대값) 및 옵션을 추가하고 일부 버그를 수정했습니다.
- 버그 53246 - 메일러 시각화 도우미: GUI 디자인 및 I18N 개선
타이머, 어설션, 구성, 전처리 및 후처리
기능
I18N
- Mailer Visualizer가 국제화되었습니다. 프랑스어 번역이 추가되었습니다. ( 버그 53246 참조 )
일반적인
- 버그 45839 - 테스트 작업: 루프에서 조기 종료 허용
- 버그 52614 - MailerModel.sendMail에 디버그 설정을 계산하는 이상한 방법이 있습니다.
- 버그 52782 - 매개변수 테이블에 세부사항 버튼을 추가하여 행의 세부사항을 표시합니다.
- 버그 52674 - 프록시: 잠재적으로 텍스트가 아닌 POST 본문(AMF, Silverlight, ...)을 사용하여 HTTP 기반 샘플러를 연결하고 다른 사용자를 위해 사용자 지정할 수 있도록 샘플러 생성기를 추가합니다.
- 버그 52934 - GUI: 트리가 테스트 계획 수준으로 확장되고 더 이상 확장되지 않은 상태에서 테스트 계획을 열고 트리의 루트를 선택합니다.
- 버그 52941 - JMeter Ant 작업 추가로 생성된 HTML 보고서 디자인 개선
- 버그 53042 - 샘플러가 구성 요소를 샘플러에 적용할지 여부를 결정할 수 있도록 샘플러 인터페이스에 새로운 방법을 도입합니다.
- 버그 52771 - 문서: JMeter 홈 페이지의 "새로운 기능 구독" 링크 아래에 RSS 피드가 추가되었습니다.
- 버그 42784 - GUI에 기록된 오류 수 표시
- 버그 53256 - 모두 지우기 명령으로 LogViewer 콘텐츠 정리
- 버그 53261 - 경고 표시기를 클릭하면 버그 42784 에서 "오류/치명적인" 카운터가 추가되어 로그 뷰어 패널이 열립니다.
비기능적 변경
- rhino 1.7R3(js-1.7R2.jar)으로 업그레이드되었습니다. 참고: jar의 Maven 좌표가 rhino:js에서 org.mozilla:rhino로 변경되었습니다. 이것은 JMeter에 직접 영향을 미치지 않지만 이전 버전의 Rhino Javascript jar에 의존하는 다른 코드와 함께 Maven 프로젝트에서 JMeter를 사용하는 경우 문제를 일으킬 수 있습니다.
- 버그 52675 - 프록시에서 샘플러 생성을 허용하도록 프록시 및 HttpRequestHdr을 리팩터링함
- 버그 52680 - 기능이 도입된 버전 언급
- 버그 52788 - HttpRequestHdr: 쓸모없는 작업을 피하기 위해 코드를 최적화합니다.
- JMeter Ant(ant-jmeter-1.1.1.jar) 작업이 1.0.9에서 1.1.1로 업그레이드되었습니다.
- commons-io 2.2로 업데이트됨(2.1에서)
- 버그 53129 - XStream을 1.3.1에서 1.4.2로 업그레이드
- httpcomponents-client 4.1.3으로 업데이트됨(4.1.2에서)
- 업데이트된 JMeter 분산 테스트 가이드(jmeter_distributed_testing_step_by_step.pdf). 소스 형식을 OpenOffice odt(sxw에서)로 변경
버전 2.6
새롭고 주목할만한
도구 모음
JMeter의 기본 창에 있는 새 도구 모음
JMeter 시작 테스트 버튼
일시 중지 타이머를 무시하고 테스트를 시작할 수 있는 새로운 메뉴 옵션과 버튼
JMeter GUI 모양과 느낌
옵션 메뉴에서 시스템 또는 CrossPlatform LAF 설정 허용
JMeter GUI - 중복 노드
상황에 맞는 메뉴에 "중복 노드" 추가
JMeter 트리 보기 - 검색 기능
Samplers Tree View에서 키워드로 검색하는 기능
HTTP 요청 - 원시 요청 창
이름 없이 매개변수를 더 잘 표시하도록 HTTP 요청 GUI 개선(예: GWT RPC 요청 또는 SOAP 요청)
HTTP 요청 - 기타 변경 사항
- 인수 패널에서 다중 선택 허용
- 클립보드의 항목을 인수 목록에 추가(붙여넣기)할 수 있습니다.
- HTTP 요청에서 변수를 위 또는 아래로 이동하는 기능
HTTP 요청 - 파일 프로토콜
파일 지원 향상: HTTP 샘플러의 프로토콜
file: protocol을 사용하여 포함된 리소스 검색
HTTP 요청 - 포함된 리소스 무시 실패
포함된 리소스에 대해 "실패 무시" 활성화
포함된 리소스를 사용한 상위 성공 실패
테이블에서 결과 보기 - 하위 샘플 표시
상위 대신 하위 샘플을 표시하는 옵션을 TableVisualiser에 추가
키 저장소 - 여러 인증서
여러 인증서 허용(JKS)
집계 그래프 개선 사항
집계 그래프 리스너의 몇 가지 개선 사항:
- 설정을 위한 새로운 GUI
- 동적 그래프 크기
- 제목 그래프 및 범례의 글꼴 변경 허용
- 막대 색상 변경 허용(배경 및 텍스트 값)
- 막대 윤곽을 그릴 수 있는지 여부를 허용합니다.
- 정규 표현식 필터로 일부 샘플러만 선택할 수 있습니다.
- Y축 최대 스케일을 정의할 수 있습니다.
집계 그래프 막대
카운터 - 새로운 재설정 옵션
각 스레드 그룹 반복에서 카운터를 재설정하는 옵션 추가
기능
- 임의의 문자열을 생성하는 새 함수 __RandomString 추가
- 현재 "테스트 계획"의 이름을 반환하는 새 함수 __TestPlanName 추가
- IP 주소를 반환하는 새 함수 __machineIP 추가
- Jexl2를 지원하는 새 함수 __jexl2 추가
사용자 정의 변수 개선
- 사용자 정의 변수에 주석 필드 추가
- 클립보드의 항목을 인수 목록에 추가(붙여넣기)할 수 있습니다.
- 사용자 정의 변수에서 변수를 위 또는 아래로 이동하는 기능
결과 트리 보기
View Results Tree에서 결과가 큰 경우 메시지만 표시하지 않고 구성된 만큼 결과를 표시합니다.
컨트롤러 - 요소 변경
컨트롤러 요소 변경 기능 추가
JDBC 전처리기 및 후처리기
JDBC 전처리기 및 후처리기 추가
JDBC 트랜잭션 격리 옵션
JDBC 연결 구성에서 트랜잭션 격리 설정 허용
푸아송 타이머
푸아송 기반 타이머 추가
GUI 및 OS 상호 작용
파일 끌어서 놓기 지원.
제거 확인 대화 상자
제거 작업이 호출될 때 요소 제거를 확인하는 대화 상자 추가
JMeter 속성을 Confirm.delete.skip=true 로 설정하면 대화를 건너뛸 수 있습니다.원격 일괄 지원
분산 테스트 중에 외부 저장소를 사용하여 샘플 보관, DiskStore 원격 샘플 발신자 추가: 보류와 유사하지만 테스트가 끝날 때까지 샘플을 디스크에 저장
JMS 구독자 샘플러
JMS 구독자를 사용하면 선택기를 사용할 수 있습니다.
새로운 로거 패널
새 로그 뷰어가 GUI에 추가되었으며 메뉴 옵션 → 로그 뷰어에서 활성화할 수 있습니다.
이 로그 뷰어는 jmeter.log 파일을 표시하며 BeanShell/BSF 스크립트를 디버그하는 데 유용합니다(예:
메뉴 항목 옵션 / 언어 선택이 이제 완전히 작동합니다.
메뉴 항목 옵션 / 언어 선택은 이제 모든 메시지가 번역된 경우 표시된 모든 텍스트를 새 언어로 변경합니다. 당신은 당신의 언어로 번역함으로써 이것을 도울 수 있습니다.
레거시 JMX 및 JTL Avalon 형식 지원 복원
JMX(스크립트) 및 JTL(샘플 결과) 파일의 원래 Avalon XML 형식 읽기/쓰기 지원은 JMeter 버전 2.4에서 삭제되었습니다. JMeter는 이제 Avalon 형식 파일을 다시 읽을 수 있지만 이전 형식으로 파일을 저장하는 것은 지원하지 않습니다.
Maven 저장소에서 사용 가능한 JMeter jar
JMeter jar는 이제 Maven 저장소에서 사용할 수 있습니다.
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다(버그 40671, 41286, 44973, 50898 참조). 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException이 발생할 수 있습니다.
한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
If Controller에 첫 번째 반복부터 항상 false인 조건이 있는 경우 리스너는 반복 횟수를 표시하지 않습니다( 버그 52496 참조 ). 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
호환되지 않는 변경 사항
2.1 이후의 JMeter 버전은 포함된 리소스를 로드할 때 컨테이너 샘플을 생성하지 못했습니다. 이것은 수정되었습니다. 다음 속성을 설정하여 여전히 버그 51939 동작으로 되돌릴 수 있습니다. httpsampler.separate.container=false
미러 서버는 이제 기본 포트 8081을 사용합니다. 2.5.1 이전에는 8080이었습니다.
TCP Sampler는 SocketTimeoutException, SocketException 및 InterruptedIOException을 2.6부터 다르게 처리하는데, 이러한 경우 Sampler는 실패로 표시됩니다.
샘플 발신자 구현은 이제 2.6 이후 클라이언트 측에서 구성을 해결합니다. 이 동작은 sample_sender_client_configured 속성을 사용하여 변경할 수 있습니다(false로 설정).
HTTP 사용자 매개변수 수정자 테스트 요소가 제거되었습니다. 오랫동안 더 이상 사용되지 않습니다.
버그 수정
HTTP 샘플러 및 프록시
- 버그 51932 - CacheManager가 max-age 이후 속성이 있는 캐시 제어 헤더를 처리하지 않습니다.
- 버그 51918 - 다중 연결이 허용될 때 GZIP 압축 트래픽이 오류를 생성 함
- 버그 51939 - 포함된 리소스를 검색할 때 필요한 경우 새 상위 샘플을 생성해야 합니다.
- 버그 51942 - 동시 다운로드를 사용할 때 CacheManager의 동기화 문제
- 버그 51957 - 작업이 완료되지 않으면 동시 가져오기가 중단될 수 있음
- 버그 51925 - 리소스의 동시 다운로드가 켜져 있을 때 테스트에서 중지를 호출하면 실행기 스레드가 누출됨
- 버그 51980 - HtmlParserHTMLParser가 링크에 사용된 이미지를 두 번 계산합니다.
- 버그 52064 - CacheManager의 OutOfMemory 위험
- 버그 51919 - 동시 다운로드를 사용할 때 CookieManager#removeMatchingCookies의 임의 ConcurrentModificationException 또는 NoSuchElementException
- 버그 52126 - HttpClient4가 반복 간에 쿠키를 지우지 않습니다.
- 버그 52129 - HTTP 클라이언트 4 및 연결 유지 연결을 사용할 때 보고된 본문 크기가 잘못됨
- 버그 52137 - HTTP 캐시 관리자 문제
- 버그 52221 - HTTP 캐시 관리자 없이 포함된 리소스 검색 사용 시 Nullpointer 예외
- 버그 52310 - "동시 풀 크기"가 활성화된 경우 IPSource의 변수가 HTTP 요청에 실패했습니다.
- 버그 52371 - API 비호환성 - HTTPSampler2의 메서드에는 이제 HttpMethod[Base] 대신 PostMethod가 필요합니다. 원래 유형으로 되돌렸습니다.
- 버그 49950 - 프록시: 프록시 서버로 기록할 때 IndexOutOfBoundsException
- 버그 52409 - HttpSamplerBase#errorResult는 매개변수로 전달된 sampleResult를 수정합니다. 새 인스턴스가 생성되었다고 가정하는 수정 코드(예: 하위 샘플 추가 시)
- 버그 52507 - Http 사용자 매개변수 수정자 삭제(더 이상 사용되지 않음, 사용되지 않음)
기타 샘플러
- 버그 51996 - 여러 스레드가 동시에 InitialContextFactory#lookupContext에 들어갈 때 JMS 초기 컨텍스트 누수가 새로 생성된 컨텍스트를 생성함
- 버그 51691 - JMS 게시자 및 JMS 구독자에 대한 권한 부여가 작동하지 않음
- 버그 52036 - 누락된 clientId 필드로 인해 ActiveMQ에서 영구 구독이 실패함
- 버그 52044 - 많은 스레드와 함께 사용되는 JMS 구독자가 javax.naming.NamingException 발생: 무언가 이미 ActiveMQ에 바인딩됨
- 버그 52072 - LengthPrefixedBinaryTcpClientImpl이 샘플을 조기에 종료할 수 있음
- 버그 52390 - AbstractJDBCTestElement: perConnCache의 메모리 누수 및 동기화 문제
컨트롤러
- 버그 51865 - "샘플 오류 후 다음 루프 시작" 옵션이 설정된 경우 스레드 그룹 내의 무한 루프가 제대로 작동하지 않음
- 버그 51868 - 스레드에 대해 "다음 루프 시작" 옵션을 사용하는 동안 jmeter.log에 많은 예외가 있음
- 버그 51866 - 스레드 그룹에 대해 "오류 시 다음 루프 시작" 옵션이 설정된 경우 루프 아래 카운터가 제대로 작동하지 않음
- 버그 52296 - TransactionController + 하위 ThrouputController 또는 InterleaveController로 인해 ERROR sampleEnd가 두 번 호출됨 java.lang.Throwable: TPC가 샘플을 실행하지 않을 때 잘못된 호출 순서
- 버그 52330 - 오류 샘플이 다음 루프에서 실행되지 않은 후 next-Loop-On-Error가 있는 경우
청취자
- 버그 52357 - 테이블의 결과 보기에서 여러 결과 샘플을 허용하지 않습니다.
- 버그 52491 - 트리 수신기/Http 요청 보기에서 Post 데이터 매개변수의 잘못된 구문 분석
주장
- 버그 52519 - XMLSchemaAssertion은 응답 인코딩 대신 JMeter JVM file.encoding을 사용합니다.
기능
- char 함수에 대한 CRLF 예제가 잘못되었습니다. CRLF=(0xD,0xA), (0xC,0xA) 아님
I18N
일반적인
- 버그 51937 - JMeter가 누락된 TestPlan 항목을 제대로 처리하지 않습니다.
- 버그 51988 - 변수 필드가 비어 있을 때 CSV 데이터 세트 구성이 헤더 구문 분석을 위한 기본 구분 기호를 확인하지 않음
- 버그 52003 - 노드가 확장된 경우 결과 트리 보기 "자동으로 스크롤"이 제대로 스크롤되지 않음
- 버그 27112 - 사용자 매개변수는 스크롤바를 사용해야 합니다.
- 버그 52029 - 명령줄 종료가 시작된 마지막 엔진으로만 전송됨
- 버그 52093 - 도구 모음 도구 설명이 언어를 전환하지 않음
- 버그 51733 - 테스트 계획을 중단하면 SyncTimer가 엉망이 됩니다.
- 버그 52118 - 새 도구 모음: 실행 중인 테스트가 없을 때 종료 및 중지 버튼이 비활성화되지 않음
- 버그 52125 - StatCalculator.addAll(StatCalculator calc)이 TreeMap 중 하나에 동일한 응답 시간을 가진 샘플이 더 많은 경우 올바르지 않게 결합됩니다.
- 버그 52339 - 분산 테스트의 JMeter 통계 모드에 잘못된 응답 시간이 표시됨
- 버그 52215 - StatVisualizer, SummaryReport,Summariser의 혼동 동기화 및 StatGraphVisualizer의 문제
- 버그 52216 - TableVisualizer: currentData 필드가 잘못 동기화되었습니다.
- 버그 52217 - ViewResultsFullVisualizer: 루트 및 treeModel의 동기화 문제
- 버그 43294 - XPath 추출기 네임스페이스 문제
- 버그 52224 - TestBeanHelper는 NOT_UNDEFINED == Boolean.FALSE를 지원하지 않습니다.
- 버그 52279 - 다른 언어로 전환하면 트리에서 아이콘이 손실되고 다음에서 GUI 클래스를 가져올 수 없음 오류가 기록됩니다.
- 버그 52280 - 메뉴 항목 옵션/언어 선택이 표시된 모든 텍스트를 새 언어로 변경하지 않음
- 버그 52376 - StatCalculator#addValue(T val, int sampleCount)는 int가 아닌 long을 사용해야 합니다.
- 버그 49374 - 포함된 요소 URL의 인코딩은 file.encoding 속성에 따라 다릅니다.
- 버그 52399 - URLRewritingModifier는 기본 file.encoding을 사용하여 텍스트 내용을 일치시킵니다.
- 버그 50438 - 코드가 정수 수학으로 평균을 계산하고 이중 값을 예상함
- 버그 52469 - 원격 테스트를 위한 RMI 트래픽의 SSH 터널링 지원 변경
- 버그 52466 - 업그레이드 테스트 계획 기능: NameUpdater가 속성을 업그레이드하지 않음
- 버그 52503 - 파일 통합→닫기 및 창 닫기 파일 저장 동작
- 버그 52537 - 파일이 처음 로드될 때 도움말이 올바른 앵커로 스크롤되지 않음
개량
HTTP 샘플러
- 버그 51981 - HTTP 샘플러의 파일: 프로토콜에 대한 더 나은 지원
- 버그 52033 - 여러 인증서(JKS) 허용
- 버그 52352 - 프록시: IPv6 URL 캡처 지원
- 버그 44301 - 포함된 리소스에 대해 "실패 무시" 활성화
기타 샘플러
- 버그 51419 - JMS 구독자: 선택기를 사용하는 기능
- 버그 52088 - JMS 샘플러: REQUEST/RESPONSE가 선택될 때 선택기를 추가합니다.
- 버그 52104 - TCP 샘플러가 잘못된 오류를 처리합니다.
- 버그 52087 - TCPClient 인터페이스는 부분 읽기를 허용하지 않습니다.
- 버그 52115 - 보낼 파일을 찾을 수 없는 경우 SOAP/XML-RPC가 POST 요청을 보내지 않아야 합니다.
- 버그 40750 - TCPSampler: 소켓이 원격 호스트에 의해 닫힐 때의 동작
- 버그 52396 - "연결 재사용 모드"의 TCP 샘플러는 다른 호스트, 포트, 사용자 또는 비밀번호로 구성된 경우에도 이전 샘플러의 연결을 재사용합니다.
- 버그 52048 - BSFSampler, BSFPreProcessor 및 BSFPostProcessor는 동일한 GUI를 공유해야 합니다.
컨트롤러
청취자
- 버그 52022 - 결과가 너무 큰 경우 결과 트리 보기에서 메시지만 표시하는 대신 구성된 만큼 결과를 표시합니다.
- 버그 52201 - 부모 대신 자식 샘플을 표시하기 위해 TableVisualiser에 옵션 추가
- 버그 52214 - 응답을 파일에 저장 - 명명 알고리즘 개선
- 버그 52340 - 런타임에 원격 샘플링 모드를 변경할 수 있습니다.
- 버그 52452 - 집계 그래프 수신기 개선 사항(GUI 및 설정)
- Avalon 형식의 JTL(결과) 파일을 읽을 수 있도록 OldSaveService를 부활시켰습니다.
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 52128 - JDBC 사전 및 사후 프로세서 추가
- 버그 52183 - SyncTimer가 향상될 수 있음(성능+신뢰성)
- 버그 52317 - 카운터: 각 스레드 그룹 반복에서 카운터를 재설정하는 옵션 추가
- 버그 37073 - 푸아송 기반 타이머 추가
- 버그 52497 - DebugSampler 및 DebugPostProcessor 개선
기능
- 버그 52006 - 임의의 문자열을 생성하는 RandomString 함수 생성
- 버그 52016 - Jexl2를 지원하는 것이 유용할 것입니다.
- __char() 함수는 이제 8진수 값을 지원합니다.
- IP 주소를 반환하는 새 기능 __machineIP
- 버그 51091 - 현재 "테스트 계획"의 이름을 반환하는 새로운 함수
I18N
일반적인
- 버그 51892 - 기본 미러 포트는 기본 프록시 포트와 달라야 합니다.
- 버그 51817 - 사용자 정의 변수 컨트롤에서 변수를 위아래로 이동
- 버그 51876 - 샘플러 TreeView에서 검색하는 기능
- 버그 52019 - 일시 중지 타이머를 무시하고 테스트를 시작하는 메뉴 옵션 추가
- 버그 52027 - 시스템 또는 CrossPlatform LAF가 옵션 메뉴에서 설정되도록 허용
- 버그 52037 - 다시 시작할 때 사용자 설정 LaF를 기억하십시오.
- 버그 51861 - 이름 없이 매개변수를 더 잘 표시하도록 HTTP 요청 GUI 개선(예: GWT RPC 요청)(UNDER DEVELOPMENT)
- 버그 52040 - JMeter 기본 창에 도구 모음 추가
- 버그 51816 - 사용자 정의 변수 컨트롤의 주석 필드.
- 버그 52052 - 구분 기호를 사용하여 JMS 구독자에 대한 결과 메시지 분리
- 버그 52103 - 테이블 시각화 도우미에 자동 스크롤 옵션 추가
- 버그 52097 - 다른 이름으로 저장은 MRU 목록이 사용되는 경우 파일을 여는 데 사용한 것과 동일한 폴더를 가리켜야 합니다.
- 버그 52085 - 인수 패널에서 다중 선택 허용
- 버그 52099 - JDBC 연결 구성에서 트랜잭션 격리 설정 허용
- 버그 52116 - 클립보드의 항목을 인수 목록에 추가(붙여넣기)할 수 있습니다.
- 버그 52160 - 숨겨진 것으로 플래그가 지정된 TestBeanGui 항목을 표시하지 않음
- 버그 51886 - SampleSender 구성이 클라이언트에서 부분적으로 해결되고 서버에서 부분적으로 해결됨
- 버그 52161 - 플러그인이 upgrade.properties 외에 자체 번역 규칙을 추가할 수 있도록 합니다. META-INF/resources/org.apache.jmeter.nameupdater.properties 파일에 있는 추가 속성을 로드합니다.
- 버그 42538 - 컨텍스트 메뉴에 "중복 노드" 추가
- 버그 46921 - 컨트롤러 요소를 변경하는 기능 추가
- 버그 52240 - TestBeans는 Boolean, Integer 및 Long을 지원해야 합니다.
- 버그 52241 - GenericTestBeanCustomizer는 기본값이 빈 문자열이라고 가정합니다.
- 버그 52242 - FileEditor는 출력을 파일에 저장하는 것을 허용하지 않습니다.
- 버그 51093 - "다른 이름으로 선택 저장"으로 이전에 저장한 선택 항목을 로드할 때 파란색 창 표시줄에 파일 이름을 표시합니다.
- 버그 50086 - JMS 게시자, JMS 구독자, 메일 판독기 샘플러, SMTP 샘플러 및 데이터베이스 구성에서 암호 필드가 숨겨지지 않음
- 버그 29352 - 분산 테스트 중에 외부 저장소를 사용하여 샘플을 보관합니다. DiskStore 원격 샘플 발신자가 추가됨: 보류와 유사하지만 테스트가 끝날 때까지 샘플을 디스크에 저장합니다.
- 버그 52333 - SampleResult#nanoTimeOffset 계산 시 오버헤드 감소
- 버그 52346 - 종료 시 JVM 종료를 방해하는 데몬이 아닌 스레드가 남아 있는지 감지합니다.
- 버그 52281 - 파일 끌어서 놓기 지원
- 버그 52471 - 각 요청에 대해 스레드를 시작하는 대신 스레드 풀을 사용하여 미러 서버 성능 향상
- Avalon 형식의 JMX 파일을 읽을 수 있도록 OldSaveService를 부활시켰습니다(2.4에서 제거됨).
- 제거 작업이 호출될 때 요소 제거를 확인하는 대화 상자 추가
- 버그 41788 - 옵션으로 필요한 로그 뷰어(콘솔 창)
- JVM 종료 성공 여부를 확인하는 데몬 스레드에서 일시 중지 시간(기본값 2000ms)을 변경하는 옵션을 추가합니다. 일시 중지 시간이 0보다 크지 않으면 스레드가 시작되지 않습니다.
비기능적 변경
- build.xml 수정: 지원 스크립트; 재사용 가능한 속성 이름 현지화
- 버그 51923 - 카운터 기능 버그 또는 문서 문제? (고정 문서)
- velocity.jar을 1.7로 업데이트(1.6.2에서)
- js.jar을 1.7R3으로 업데이트(1.6R5에서)
- 커먼즈 코덱 1.5 ⇒ 1.6 업데이트
- commons-io 2.0.1 ⇒ 2.1 업데이트
- commons-jexl 2.0.1 ⇒ 2.1.1 업데이트
- jdom 1.1 ⇒ 1.1.2 업데이트
- 4.9 업데이트 ⇒ 4.10 업데이트
- 버그 51954 - 생성된 문서에 </br> 항목이 포함되어 추가 공백 줄이 발생합니다.
- 버그 52075 - JMeterProperty.clone()이 현재 Object를 반환합니다. JMeterProperty를 반환해야 합니다.
- httpcore를 4.1.4로 업데이트했습니다.
- 버그 49753 - Maven 중앙 저장소에 jMeter 아티팩트를 게시하십시오.
버전 2.5.1
주요 변경 사항 요약
- HttpClient4 샘플러는 이제 연결을 올바르게 재사용합니다(이전에는 샘플당 하나를 사용하므로 리소스가 빠르게 고갈될 수 있음).
- JMS 샘플러에 대한 다양한 수정
- 구성 요소와 함께 사용할 때 함수가 더 이상 허위로 호출되지 않습니다.
- WebService 샘플러 GUI가 더 나은 디자인과 더 사용자 친화적으로 재구성되었습니다. WSDL 구성 도우미의 일부 개선 사항
- 테스트 종료 처리 개선. System.exit는 이제 다른 옵션이 없는 경우에만 호출됩니다. 이마저도 비활성화할 수 있습니다.
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다. 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException이 발생할 수 있습니다.
한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
If Controller는 조건이 첫 번째 반복에서 항상 false인 경우 무한 루프를 일으킬 수 있습니다. 해결 방법은 If Controller와 동일한 수준(또는 더 높은 수준)에 샘플러를 추가하는 것입니다. 예를 들어 대기 시간이 0인 테스트 작업 샘플러(샘플을 생성하지 않음) 또는 모든 필드가 False로 설정된 디버그 샘플러(샘플 크기를 줄이기 위해).
메뉴 항목 옵션 / 언어 선택은 표시된 모든 텍스트를 새 언어로 변경하지 않습니다. [동작이 개선되었지만 언어 변경이 아직 완전히 작동하지 않음] 기본 로컬 언어를 완전히 무시하려면 JMeter를 시작하기 전에 JMeter 속성 "언어"를 설정하십시오.
호환되지 않는 변경 사항
HttpClient4 및 Commons HttpClient 3.1 샘플러는 이전에 재시도 횟수 3을 사용했습니다. Java 구현과 호환되도록 기본값이 1로 변경되었습니다. 재시도 횟수는 관련 JMeter 속성을 설정하여 재정의할 수 있습니다. 예를 들면 다음과 같습니다.
httpclient4.retrycount=3 httpclient3.retrycount=3
버그 수정
HTTP 샘플러 및 프록시
- 가능한 경우 HttpClient 인스턴스 및 연결을 재사용하도록 HttpClient 4 샘플러를 수정합니다.
- HTTPCLIENT-1120에서 작동하도록 HC4 샘플러에 대한 임시 수정.
- 버그 51863 - HttpClient 4 구현과 많은 ESTABLISHED 연결(HttpClient 3.1 impl과 비교)
- 버그 51750 - 포함된 모든 리소스 검색이 IFRAME를 따르지 않음
- 버그 51752 - 동시 풀에서 "포함된 모든 리소스 검색"을 사용할 때 HTTP 캐시가 손상됨
- 버그 39219 - HTTP 서버: 파일→열기 후에 중지할 수 없습니다.
- 버그 51775 - HttpClient(3.1 및 4.x)로 캡처할 때 호스트 헤더에서 포트 번호가 중복됨
- 버그 50617 - 서버에서 값을 검색했지만 모니터 결과 범례에 "죽은" 서버가 표시됨
기타 샘플러
- 버그 50424 - 웹 방법 드롭다운 목록 상자가 일치하지 않음
- 버그 43293 - 새 샘플러를 생성할 때 Java 요청 필드가 지워지지 않음
- 버그 51830 - Webservice WSDL URL이 다운될 때 Webservice Soap Request가 너무 많은 팝업을 트리거 함
- WebService(SOAP) 요청 - 서버가 응답하지 않을 때 웹 메소드를 채우는 데 사용되는 wsdl을 얻기 위해 연결 시간 초과를 추가합니다.
- 버그 51841 - JMS: ReceiveSubscriber 생성자 또는 게시자에서 오류가 발생하면 연결이 열린 상태로 유지됩니다.
- 버그 51691 - JMS 게시자 및 JMS 구독자에 대한 권한 부여가 작동하지 않음
- 버그 51840 - JMS: InitialContext의 캐시에 몇 가지 문제가 있습니다.
- 버그 47888 - JUnit 샘플러가 테스트 개체를 재사용 함
컨트롤러
- 컨트롤러인 경우 - 버그 50032 에 의해 도입된 두 가지 회귀 문제를 수정했습니다 ( 버그 50618 도 참조).
- 컨트롤러인 경우 - 조건이 항상 false를 반환할 때 StackOverflowError를 포착합니다(반환 true로 최소한 한 번 반복 후) 버그 50618 참조
- 버그 51869 - 포함 컨트롤러를 사용할 때 NullPointer 예외
청취자
주장
기능
- 버그 48943 - 구성 요소와 함께 사용할 때 함수가 추가로 호출됩니다.
I18N
- WebService(SOAP) 요청 - 일부 레이블에 I18N 추가
일반적인
- 버그 51831 - UDP 서버를 비활성화하거나 최대 UDP 포트를 변경할 수 없음
- 버그 51821 - 테스트 계획에서 (하위)트리 또는 분기 활성화/비활성화에 대한 바로 가기를 추가합니다.
- 버그 47921 - JMeterThread가 종료된 후 GC에 대해 변수가 해제되지 않습니다.
- 버그 51839 - "... 실행 종료"가 너무 일찍 인쇄 됨
- 버그 51847 - 일부 JUnit 테스트는 로케일에 민감하며 로케일이 미국과 다른 경우 실패합니다.
- 버그 51855 - 상위 샘플의 경과 시간이 약간 부정확할 수 있음
- 버그 51880 - 모든 스레드가 시작되기 전에 종료 명령을 호출하면 종료 명령이 작동하지 않습니다.
- 원격 종료 호스트 메뉴 항목이 활성화되지 않았습니다.
- 버그 51888 - 테스트 계획을 중지할 때 가끔 교착 상태가 발생함
개량
HTTP 샘플러
- 버그 51380 - 반복에서 반복까지 캐시된 SSL 컨텍스트의 재사용 제어
- 버그 51882 - HTTPHC3Client는 기본 재시도 횟수 3을 사용하여 구성 가능합니다. 기본값은 이제 1입니다.
- 기본 HttpClient 4 샘플러 재시도 횟수를 1로 변경합니다.
기타 샘플러
- Beanshell Sampler는 이제 Interruptible 인터페이스를 지원합니다.
- 버그 51605 - WebService(SOAP) 요청 - 요청에서 값을 선택할 때 모든 요청에 대해 WebMethod 필드 값이 비밀리에 변경됨
- WebService(SOAP) 요청 - 더 나은 디자인과 더 사용자 친화적인 GUI 재구성
컨트롤러
청취자
- 버그 42246 - "결과 트리 보기" 및 "어설션 결과"에서 '자동 스크롤' 옵션이 필요함
- 결과 트리 보기: Regexp 테스터 - 사용자 인터페이스가 약간 개선됨
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 51885 - JMeter 변수를 XPathExtractor에 대한 입력으로 허용
기능
I18N
일반적인
- 버그 51822 - (1부) GuiPackage#getCurrentGui의 호출 1개 저장
- 샘플을 서버에서 클라이언트로 비동기적으로 보내는 AsynchSampleSender를 추가했습니다.
- htmlparser 2.1로 업그레이드되었습니다. 자바메일 1.4.4; JUnit 4.9
비기능적 변경
- 버그 49976 - FormCharSetFinder 가시성은 공개 대신 기본값입니다.
- 버그 50917 - 테스트 계획에서 설정할 때 CookieManager.save.cookies 속성이 적용되지 않음
- Javascript 오류가 감지될 때 오류 로깅을 개선합니다.
- 업데이트된 문서 바닥글
버전 2.5
주요 변경 사항 요약
- HTTP 구현은 이제 런타임에 선택할 수 있으며 JMeter는 이제 Apache HttpComponents HttpClient 4.x도 지원합니다. Commons HttpClient 3.1은 더 이상 적극적으로 개발되지 않았으며 향후 릴리스에서 JMeter에서 지원이 제거될 수 있습니다.
- HTTP 샘플러는 이제 HTML 페이지에 포함된 리소스의 동시 다운로드를 허용합니다.
- HTTP 샘플러는 이제 압축 해제 전 요청 크기를 보고할 수 있습니다.
- JMS 및 메일 샘플러가 개선되었습니다.
- 새로운 Test Fragment Test Element를 사용하면 Include Controller를 더 쉽게 사용할 수 있습니다.
- View Results Tree 리스너에 대한 다양한 개선 사항이 있습니다.
- 버그 30563 - 스레드 그룹에 샘플 오류에 대한 다음 루프 시작 옵션이 있어야 합니다.
- 기본 스레드 그룹 전후에 실행되는 두 가지 새로운 스레드 그룹 유형인 setUp 및 tearDown이 있습니다.
- 클라이언트-서버 모드는 이제 UDP를 통한 외부 중지/종료를 지원합니다
. 포트 속성을 변경할 필요 없이 동일한 호스트에서 여러 JMeter 서버 인스턴스를 시작할 수 있습니다. - 버그 50516 - HTTP 헤더 관리자의 "호스트" 헤더가 생성된 HTTP 요청에 포함되지 않음
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다. 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException이 발생할 수 있습니다.
Once Only 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
메뉴 항목 옵션 / 언어 선택은 표시된 모든 텍스트를 새 언어로 변경하지 않습니다. [동작이 개선되었지만 언어 변경이 아직 완전히 작동하지 않음] 기본 로컬 언어를 완전히 무시하려면 JMeter를 시작하기 전에 JMeter 속성 "언어"를 설정하십시오.
호환되지 않는 변경 사항
지원되지 않는 메소드는 더 이상 Commons HttpClient 샘플러에 의해 GET으로 변환되지 않습니다.
public static long currentTimeInMs() 메서드를 제거했습니다. 이것은 public long currentTimeInMillis() 인스턴스 메소드로 대체되었습니다.
ProxyControl.getSamplerTypeName()은 이제 int가 아닌 String을 반환합니다. 이것은 JMeter Proxy 및 GUI의 작동 내부에 있으므로 사용자 코드에 영향을 주지 않아야 합니다.
버그 수정
HTTP 샘플러 및 프록시
- 버그 50178 - 스레드 그룹의 자식으로 추가된 HeaderManager는 연결된 HeaderManager 이름과 OutOfMemoryException을 생성할 수 있습니다.
- 버그 50392 - Multipart에서 요청을 보낼 때 값이 잘립니다.
- 버그 50686 - 인스턴스를 병합할 때 HeaderManager 로깅이 너무 장황함
- 버그 50963 - AjpSampler에서 java.lang.StringIndexOutOfBoundsException이 발생함
- 버그 50516 - HTTP 헤더 관리자의 "호스트" 헤더가 생성된 HTTP 요청에 포함되지 않음
- 버그 50544 - Apache 공통 로그에서 HEAD 요청으로 인해 문제가 발생합니다.
- 버그 51268 - 잘못된 프록시를 통한 HTTPS 요청으로 인해 NullPointerException이 발생하고 결과 트리에 표시되지 않습니다. "예기치 않은" 실패에 대해 JMeter 스레드 핸들러에 위임하는 대신 모든 예외가 샘플 오류를 생성하는지 확인하십시오.
- 버그 51275 - 쿠키 패널 clearGui()가 Java 1.6에서 잘못된 기본 정책을 설정함
기타 샘플러
- 버그 50173 - JDBCSampler가 PreparedStatement에서 ResultSet을 버립니다.
- JSR223 샘플러가 현재 SampleResult에 액세스할 수 있는지 확인하십시오.
- 버그 50977 - 개별 샘플에 대해 TCP 샘플러를 설정할 수 없음
컨트롤러
- 버그 50032 - 스레드 그룹에 여러 루프가 있는 경우 다른 컨트롤러와 함께 Last_Sample_Ok가 올바르게 작동하지 않습니다.
- 버그 50080 - 트랜잭션 컨트롤러가 타이머 기간을 포함한 샘플을 잘못 생성 함
- 버그 50134 - TransactionController: 다른 TransactionController가 포함된 경우 잘못된 응답 시간을 보고합니다.
청취자
- 버그 50367 - 보기 결과 트리에서 지우기/모두 지우기가 선택한 요소를 지우지 않음
주장
기능
- 버그 50568 - 함수 __FileToString(): 인코딩 옵션이 비어 있는 경우 파일을 읽을 수 없습니다.
I18N
- 버그 50811 - 불완전한 스페인어 번역
일반적인
- 버그 49734 - 스레드 중지 명령 시 Null 포인터 예외(실행 → 중지)
- 버그 49666 - CSV 헤더를 EOF 후 데이터로 읽음
- 버그 45703 - 타이머 동기화
- 버그 50088 - SamplingStatCalculator에서 getAvgPageBytes를 수정하여 반환해야 하는 값을 반환합니다.
- 버그 50203 "jmeter.save.saveservice.default_delimiter=\t" 속성을 설정할 수 없습니다.
- mirror-server.sh - 사용할 클래스 경로 수정: 구분 기호(; 아님)
- 버그 50286 - URL 재작성 수정자: 추출된 jsessionid 값이 XML 태그 사이에 있을 때 올바르지 않음
- System.nanoTime()은 System.currentTimeMillis()에 비해 드리프트하는 경향이 있습니다. 매번 오프셋을 다시 계산하도록 SampleResult를 변경합니다. 또한 System.currentTimeMillis()만 사용하도록 되돌릴 수 있습니다.
- 버그 50425 - 컨트롤러 추가 메뉴에서 스레드 그룹 제거
- 버그 50675 - CVS 데이터 세트 구성이 원격 시작과 호환되지 않음 RMI 시작이 user.dir에 상대적인 JMX 파일의 위치를 제공하도록 수정되었습니다.
- 버그 50221 - 트리에서 요소의 이름을 변경해도 레이블 크기가 조정되지 않음
- 버그 51002 - CSV 파일을 사용할 수 없는 경우 스레드를 중지합니다. JMeter는 이제 IOError를 EOF로 처리합니다.
- 기본적으로 sun.net.http.allowRestrictedHeaders=true를 정의합니다. 이것은 버그 51238 을 수정 합니다.
- 버그 51645 - file.encoding이 UTF-8인 경우 CSVDataSet이 UTF-8 파일을 읽지 않습니다.
개량
HTTP 샘플러
- AJP 샘플러는 이제 Interruptible을 구현합니다.
- 런타임 시 HTTP 구현 선택 허용
- 버그 50684 - 선택적으로 멀티파트 POST에서 콘텐츠 유형 및 전송 인코딩을 비활성화합니다.
- 버그 50943 - html 페이지에 포함된 리소스의 동시 다운로드 허용
-
버그 50170
- http 샘플러에 의해 보고된 바이트 는 GUnZip 이후임 - HTTP 샘플러에서 프록시 비밀번호 숨기기(JMX 파일이 아닌 GUI에서만)
기타 샘플러
- 버그 49622 - 제목 없이 메시지 보내기 허용(SMTP 샘플러)
- 버그 49603 - 메일 판독기 샘플러에서 만료된 인증서 수락 허용
- 버그 49775 - 본문 없이 메시지 보내기 허용
- 버그 49862 - SMTPSampler 요청 출력을 개선합니다.
- 버그 50268 - JMS 게시자에 정적 및 동적 대상을 추가합니다.
- JMS 구독자 - 동적 대상 추가
- 버그 50666 - JMSSubscriber: 영구 구독 지원
- 버그 50937 - TCP 샘플러가 연결 시간 초과를 제공하지 않음
- 버그 50569 - 결과 집합 개체 데이터를 선택적으로 저장하기 위한 Jdbc 요청 샘플러
- 버그 51011 - 메일 리더: 인증 실패 시 시도한 내용을 알려주세요.
컨트롤러
- 버그 50475 - 더 나은 포함 흐름을 위한 테스트 조각 테스트 요소 도입
청취자
- 결과 트리 보기 - "샘플러 결과 탭 → 구문 분석"에 대화 상자의 텍스트 상자를 추가하여 셀을 두 번 클릭하여 긴 값을 표시합니다.
- 버그 37156 - 결과 트리의 형식화된 요청 보기
- 버그 49365 - 로드된 스크립트에 상대적인 경로의 파일에 결과 세트를 기록하도록 허용
- 버그 50579 - 오류 수가 길고 샘플 수가 int입니다. 샘플 수를 long으로 변경했습니다.
- 결과 트리 보기 - 새 크기 필드 추가: 응답 헤더 및 응답 본문(바이트) - 버그 43363 에서 파생됨
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 48015 - 전처리기, 후처리기 및 어설션 요소에 대한 새로운 제안 아이콘
- 버그 50962 - SizeAssertionGui 유효성 검사가 크기에 대한 변수 사용을 방지합니다.
- 크기 주장 - 응답 크기 범위 추가(전체, 헤더, 본문, 코드, 메시지) - 버그 43363 에서 파생됨
기능
- 버그 49975 - 현재 샘플러의 이름을 반환하는 새 함수
I18N
- HTTP 샘플에서 새 레이블에 대한 프랑스어 번역을 추가하고 일부 레이블(약어)의 크기를 줄입니다.
일반적인
- 버그 30563 - 스레드 그룹에 샘플 오류에 대한 다음 루프 시작 옵션이 있어야 합니다.
- 버그 50347 - Eclipse 설정 지침에서 사용자에게 종속 항아리를 다운로드하도록 상기시켜야 합니다.
- 버그 50490 - 더 나은 테스트 흐름을 위한 설정 및 포스트 스레드 그룹 향상.
- 모든 BeanShell 테스트 요소에는 이제 스크립트 변수 "prev" 및 "Label"이 정의되어 있습니다.
- 버그 50708 - NewDriver의 클래스 경로 jar 순서가 알파벳순이 아님
- 버그 50659 - JMeter 서버가 동시 테스트를 지원하지 않음 - 클라이언트가 다른 테스트를 시작하지 못하도록 방지
- 원격 종료 기능 추가
- 클라이언트 JMeter 엔진은 이제 UDP를 통한 외부 중지/종료를 지원합니다.
- UDP 종료는 이제 jmeterengine.nongui.port=4445에서 jmeterengine.nongui.maxport=4455까지 다양한 포트를 사용할 수 있으므로 포트 속성을 변경할 필요 없이 동일한 호스트에서 여러 JMeter 인스턴스를 허용합니다.
- httpcore 4.1.3 및 httpclient 4.1.2로 업데이트됨
비기능적 변경
- 버그 50008 - BatchSampleSender가 하위 분류되도록 허용
- 버그 50450 - jacobi 솔버에서 System.array 복사를 사용하면 기본이므로 성능이 더 좋습니다.
- 버그 50487 - runSerialTest는 지속할 필요가 없는 개체를 확인합니다.
- 개인 ThreadGroup 대신 Thread.setDefaultUncaughtExceptionHandler() 사용
- Commons Net 3.0으로 업데이트
버전 2.4
주요 변경 사항 요약
- JMeter는 이제 최소한 Java 1.5가 필요합니다.
- 이제 HTTP 프록시가 HTTPS 세션을 기록할 수 있습니다.
- JUnit 샘플러는 이제 JUnit4 주석을 지원합니다.
- JSR223(javax.script) 테스트 요소를 추가했습니다.
- MailReader 샘플러는 이제 기본 구현에서 지원하는 모든 프로토콜을 사용할 수 있습니다.
- SMTP 샘플러가 추가되었습니다.
- JMeter는 이제 사용자가 자신의 스레드 그룹 구현을 제공할 수 있도록 합니다.
- 결과 트리 보기는 이제 검색 및 정규식 테스트를 포함하여 더 많은 표시 옵션을 지원합니다.
- StatCalculator 성능이 훨씬 향상되었습니다. 집계 보고서 등은 훨씬 적은 메모리를 필요로 합니다.
- JMS 샘플러가 광범위하게 재작업되었으며 더 이상 메시지가 손실되지 않습니다. 상관 처리가 향상됩니다. JMS 게시자 및 구독자는 이제 주제와 대기열을 모두 지원합니다.
- 기타 많은 개선이 이루어졌습니다. 아래 및 설명서를 참조하십시오.
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다. 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException이 발생할 수 있습니다.
Once Only 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
메뉴 항목 옵션 / 언어 선택은 표시된 모든 텍스트를 새 언어로 변경하지 않습니다. [동작이 개선되었지만 언어 변경이 아직 완전히 작동하지 않음] 기본 로컬 언어를 완전히 무시하려면 JMeter를 시작하기 전에 JMeter 속성 "언어"를 설정하십시오.
호환되지 않는 변경 사항
HTTP 리디렉션은 이제 "자동으로 리디렉션"이 아닌 "리디렉션 따르기"로 기본 설정됩니다. JMeter가 리디렉션 중에 전송될 수 있는 쿠키를 추적할 수 있도록 하기 위한 것입니다. 이는 기존 테스트 계획에 영향을 미치지 않습니다. 새 HTTP 샘플러의 기본값에만 영향을 줍니다.
JMX 및 JTL 파일에 대한 Avalon 파일 형식은 더 이상 지원되지 않습니다. 이러한 파일은 JMeter 2.3.4에서 읽고 다시 저장하여 변환해야 합니다.
XPath Assertion 및 XPath Extractor 요소는 더 이상 기본적으로 외부 DTD를 가져오지 않습니다. 이것은 GUI에서 변경할 수 있습니다.
JMSConfigGui는 JMSSamplerGui로 이름이 변경되었습니다. 이는 기존 테스트 계획에 영향을 미치지 않습니다.
생성자 public SampleResult(SampleResult res)가 진정한 "복사 생성자"가 되도록 변경되었습니다. 더 이상 addSubResult()를 호출하지 않습니다. 이것은 일부 타사 애드온에 영향을 미칠 수 있습니다 .
버그 수정
HTTP 샘플러 및 프록시
- 버그 47445 - https-spoofing 보안 쿠키와 함께 프록시를 사용하려면 보안을 해제해야 합니다.
- 버그 47442 - https 스푸핑을 사용하는 특정 조건에서 https를 http로 대체 하지 않음
- 버그 48451 - 오류: else 분기의 SoapSampler.setPostHeaders(PostMethod post)
- 버그 48542 - SoapSampler가 잘못된 응답 헤더 필드를 사용하여 응답이 gzip으로 인코딩되었는지 여부를 결정합니다.
- 버그 48568 - AjpSampler에 대해 CookieManager가 손상되었습니다.
- 버그 48570 - AjpSampler는 쿼리 매개변수(GET/POST)를 지원하지 않습니다.
- 버그 46901 - HTTP 샘플러가 첫 번째 파일 매개변수에서 var/func 참조를 올바르게 처리하지 않습니다.
- 버그 43678 - META 태그 http-equiv charset을 처리합니까?
- 버그 49294 - 리디렉션된 페이지에서 이미지가 다운로드되지 않음
- 버그 49560 - 리디렉션을 따를 때 잘못된 "바이트 단위 크기"
기타 샘플러
- 버그 47420 - 추가 요청 중에 연결을 닫지 않는 LDAP 확장 요청
- 버그 48573 - LDAPExtSampler 디렉토리 컨텍스트 처리
- 버그 47870 - NPE로 인해 JMSSubscriber가 실패함
- 버그 47899 - JMS ReceiveSubscriber 생성자의 NullPointerExceptions
- 버그 48144 - JMS OnMessageSubscriber의 NPE
- 버그 47992 - JMS 지점 간 요청 - 응답 옵션이 작동하지 않음
- 버그 48579 - LdapExt 샘플러에 액세스할 때 단일 바인딩이 구성 정보를 표시하지 않음
- 버그 49111 - JMS P2P 샘플러의 "ID를 찾을 수 없는 메시지" 오류.
- 버그 47949 - JMS 구독자가 모든 메시지를 수신하지 않음
- 버그 46142 - JMS 지점 간 상관 관계 문제
- 버그 48747 - TCP 샘플러가 예외 를 삼킴
- 버그 48709 - TCP 샘플러 구성 설정 "classname"이 적용되지 않음
컨트롤러
- 버그 47385 - TransactionController는 AllThreads 및 GroupThreads를 설정해야 합니다.
- 버그 47940 - 모듈 컨트롤러가 대체 하위 트리를 잘못 생성함
- 버그 47592 - 오류 시 "테스트 중지"로 스레드 그룹을 연속적으로 실행하면 JMeter가 완료로 표시되지 않습니다.
- 버그 48786 - 스레드 그룹을 연속적으로 실행: 오류 또는 수동 중지 시 "지금 테스트 중지"를 사용하면 JMeter가 녹색 상자를 활성 상태로 둡니다.
- 버그 48727 - 모든 스레드 그룹이 비활성화된 경우 테스트를 중지할 수 없음
청취자
- 버그 48603 - Mailer Visualiser가 단일 응답 실패에 대해 두 개의 이메일을 보냅니다.
- 집계된 샘플에 대한 min/max/std.dev의 정확한 계산(요약 보고서)
- 버그 48889 - mode=Statistical 및 num_sample_threshold > 1인 잘못된 응답 시간
- 버그 47398 - 샘플 이벤트가 분산 테스트 및 비 GUI 모드에서 RMI를 통해 두 번 전송됩니다.
주장
기능
I18N
일반적인
- 버그 47646 - "Random Variable" 요소의 NullPointerException
- JDBC 구성에 자식 요소를 추가하는 것을 허용하지 않습니다.
- BeanInfoSupport는 이제 getBeanDescriptor()를 캐시합니다. - CSVDataSet(및 일부 다른 TestBeans)을 사용할 때 Sun이 아닌 JVM에서 NPE를 피해야 합니다.
- 버그 48350 - 2개의 클라이언트를 사용한 분산 테스트의 교착 상태
- 버그 48901 - 동기화 타이머를 추가하여 끝없는 대기
- 버그 49149 - usermanual/index.html에 "정규 표현식" 페이지 링크에 오타가 있습니다.
- 버그 49394 - ActionRouter.postActionPerformed의 클래스캐스트 예외
-
버그 48136 - 소스 tarball에서 필수 파일이 누락되었습니다.
소스 아카이브에는 이제 이전에 바이너리 아카이브에서만 제공되었던 소스 파일을 포함하여 모든 소스 파일이 포함됩니다. - 버그 48331 - XpathExtractor가 Nodeset에 대한 XML 문자열 표현을 반환하지 않음
개량
HTTP 샘플러
- 버그 47622 - HTTPS 세션 기록 활성화
- HTTP 샘플러 GUI 및 HTTP 구성 GUI에서 프록시 서버 지정 허용
- 버그 47461 - Expires HTTP 헤더를 처리하도록 캐시 관리자 업데이트
- 버그 48153 - Cache-Control 및 Expires 헤더 지원
- 버그 47946 - 프록시는 트랜잭션 컨트롤러 내에서 그룹화를 활성화해야 합니다.
- 버그 48300 - HTTP HttpClient 요청에 대한 IP 소스 주소 재정의 허용
- 버그 49083 - 리디렉션 URL에서 '/pathsegment/..' 축소
기타 샘플러
- JUnit 샘플러는 이제 JUnit4 테스트를 지원합니다(주석 사용).
- 버그 47900 - JMS SubscriberSampler가 중단되도록 허용
- JSR223 샘플러 추가
- 버그 47556 - JMS-PointToPoint-Sampler 시간 초과 필드는 문자열을 사용해야 합니다.
- 버그 47947 - 메일 판독기 샘플러가 포트 재정의를 허용해야 합니다.
- 버그 48155 - JMS 프로토콜 클래스의 여러 문제/향상
- MailReader 샘플러가 임의의 프로토콜을 사용하도록 허용
- 버그 45053 - JMeter용 SMTP 샘플러
- 버그 49552 - SMTPSampler에 메시지 헤더 추가
- JMS 게시자 및 구독자는 이제 주제와 대기열을 모두 지원합니다. JMS 구독자에 읽기 제한 시간을 추가했습니다. JMS 코드의 일반적인 정리.
컨트롤러
- 버그 47909 - TransactionController는 대기 시간을 합산해야 합니다.
- 버그 41418 - 보고서의 트랜잭션 컨트롤러 런타임에서 타이머 기간 제외
- 버그 48749 - 사용자 지정 스레드 그룹 허용
- 버그 43389 - 현재 JMX 파일과 관련하여 포함 파일을 찾을 수 있도록 허용
청취자
- DataStrippingSample 발신자 추가 - "Stripped" 및 "StrippedBatch" 모드를 지원합니다.
- 비교 어설션 시각화 도우미 추가
- 버그 47907 - 개선 사항(향상 및 I18N) 비교 어설션 및 비교 시각화 도우미
- 버그 36726 - 트리 보기 수신기에 검색 기능 추가
- 버그 47869 - SampleResult의 필드를 정리하는 기능
- 버그 47952 - JSR223 수신기 추가됨
- 버그 47474 - 플러그인 렌더러에 대한 결과 트리 보기 지원
- 유휴 시간이 샘플 로그 파일에 저장되도록 허용
- 버그 48259 - TreeMap을 사용하여 StatCalculator 성능 향상
- SamplingStatCalculator를 사용하는 리스너는 샘플 캐시가 새로운 CachingStatCalculator 클래스로 이동되었기 때문에 필요한 메모리가 훨씬 줄어듭니다. 특히 집계 보고서는 이제 많은 수의 샘플을 처리할 수 있습니다.
- 이제 집계 보고서 및 요약 보고서에서 열 머리글을 선택적으로 제외할 수 있습니다.
- 버그 49506 - 리스너의 "파일에서 읽기" 기능에서 열린 대화 상자에 .csv 파일 확장명 추가
- 버그 49545 - 결과 트리에서 샘플 결과의 형식이 지정된(분석된) 보기
타이머, 어설션, 구성, 전처리 및 후처리
- 버그 47338 - XPath 추출기가 문서 DTD를 강제로 검색함
- 비교 주장 추가됨
- 버그 47952 - JSR223 전처리기 및 후처리기 추가됨
- JSR223 어설션 추가됨
- BSF 타이머 및 JSR223 타이머 추가
- 버그 48511 - 상위, 하위, 모든 선택을 정규식 추출기에 추가
- XPathExtractor에 샘플러 범위 선택 추가
- 정규식 추출기, 응답 어설션 및 크기 어설션을 이제 JMeter 변수에 적용할 수 있습니다.
- 버그 46790 - CSV 데이터 세트 구성이 CSV 헤더를 구문 분석할 수 있어야 합니다.
기능
- 버그 47565 - [함수] FileToString
I18N
일반적인
- 버그 47223 - 느린 집계 보고서 성능(StatCalculator)
- 버그 47980 - 호스트 이름이 127.0.0.1로 확인됨 - IP를 지정할 수 없음
- 버그 47943 - DisabledComponentRemover가 Start 클래스에서 사용되지 않음
- 덤프의 런타임 생성을 위한 HeapDumper 클래스
- 원시 메일 파일을 읽기 위한 기본 읽기 전용 JavaMail 제공자 구현
- 버그 49540 - "추가" 메뉴를 알파벳순으로 정렬
비기능적 변경
- Beanshell, JavaMail 및 JMS API(Apache Geronimo) jar가 이제 바이너리 아카이브에 포함됩니다.
- TestBean 테이블 편집기 지원 추가
- SVN에서 모든 외부 라이브러리를 제거했습니다. 추가 download_jars Ant 대상
- 다양한 jar 파일 업데이트:
- 콩 껍질 - 2.0b4 ⇒ 2.0b5
- 공용 코덱 - 1.3 ⇒ 1.4
- 커먼즈 컬렉션 - 3.2 ⇒ 3.2.1
- J티디 ⇒ r938
- JUnit - 3.8.2 ⇒ 4.8.1
- 로그킷 - 1.2 ⇒ 2.0
- Xalan 직렬 변환기 = 2.7.1(이전에는 2.9.1로 잘못 표시됨)
- Xerces xml-apis = 1.3.04(이전에는 2.9.1로 잘못 표시됨)
- 일부 jar 파일의 이름이 변경되었습니다.
버전 2.3.4
주요 변경 사항 요약
이것은 주로 2.3.3에서 실수로 추가된 일부 버그를 수정하기 위한 사소한 버그 수정 릴리스입니다.
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다. 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException이 발생할 수 있습니다.
Once Only 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
메뉴 항목 옵션 / 언어 선택은 표시된 모든 텍스트를 새 언어로 변경하지 않습니다. [동작이 개선되었지만 언어 변경이 아직 완전히 작동하지 않음] 기본 로컬 언어를 완전히 무시하려면 JMeter를 시작하기 전에 JMeter 속성 "언어"를 설정하십시오.
버그 수정
HTTP 샘플러 및 프록시
- 버그 47321 - HTTPSampler2 응답 시간 초과가 적용되지 않음
기타 샘플러
- 버그 47290 - 연결 팩토리 조회(JMS) 시 무한 루프
- JDBC 샘플러는 준비된 문 또는 호출 가능한 문을 닫으면 안 됩니다.
컨트롤러
- 버그 39509 - 두 번 실행되는 한 번만 컨트롤러
청취자
- 디렉토리가 생성되지 않은 경우에만 경고하도록 ResultCollector 변경
- ResultCollector 및 SampleResult의 일부 동기화 문제 수정(잘못된 잠금이 사용됨)
I18N
- 2.3.3에 도입된 버그 수정: 기본 로케일에 대한 messages.properties 파일이 없으면 JMeter가 시작되지 않습니다.
일반적인
- 원격 클라이언트 문제 수정 - 2.3.3에서 도입된 버그
- 버그 47377 - ClassFinder를 더 강력하게 만들고 zip 파일 리소스를 닫습니다.
- 문서 생성 시 일부 오류 수정(2.3.3에서 Velocity가 업그레이드되었을 때 잠재적인 버그가 드러남)
개량
기타 샘플러
- 버그 47266 - FTP 요청 샘플러: 기본값 이외의 FTP 포트 지정 허용
버전 2.3.3
주요 변경 사항 요약
테스트 종료 처리가 훨씬 개선되었습니다. 점진적인 "종료" 명령은 이제 모든 스레드가 중지될 때까지 기다리며 스레드가 5초 이내에 중지되지 않으면 오류를 보고하지 않습니다. "종료"가 너무 오래 걸리는 경우 즉각적인 "중지" 명령을 사용할 수 있습니다. 또한 즉각적인 "중지" 명령은 새로운 인터럽트 가능 인터페이스(예: HTTP 및 SOAP, FTP)를 지원하는 샘플러를 인터럽트할 수 있습니다. 이를 통해 보류 중인 응답을 즉시 완료할 수 있습니다. 비 GUI 모드 테스트는 이제 "종료" 또는 "중지" 메시지를 보낼 수도 있습니다. 테스트 작업 은 이제 스레드 그룹 및 결과 상태 작업 처리기 포스트 프로세서 요소 와 마찬가지로 "지금 중지" 작업을 지원합니다 .
HTTP 쿠키 처리가 향상되었으며 이제 HTTP POST에서 변수 파일 이름을 올바르게 사용할 수 있습니다. HTTP, SOAP/XML-RPC 및 WebService(SOAP) 샘플러 문자 인코딩이 더 일관성 있게 업데이트되었습니다. HTTP 샘플러는 이제 연결 및 응답 시간 초과를 지원합니다(HTTP Java 샘플러에는 JVM 1.5 필요). 위에서 설명한 종료 개선 사항과 함께 테스트 실행이 중단되는 대부분의 경우를 방지할 수 있습니다. 이제 단일 HTTP 샘플러에 대해 여러 헤더 관리자 요소가 지원됩니다. 프록시 서버가 개선되었으며 더 이상 기본적으로 "호스트" 헤더를 저장하지 않습니다.
JDBC 요청은 선택적으로 Select 문의 결과를 변수에 저장할 수 있습니다. JDBC 요청은 이제 인용 문자열과 UTF-8을 처리하고 임의의 변수 유형을 처리할 수 있습니다.
몇 가지 새로운 기능 이 있습니다 . __char() 기능: 필드에 임의의 유니코드 문자를 입력할 수 있습니다. __unescape() 함수: Java 이스케이프 문자열을 사용할 수 있습니다. _unescapeHtml() 함수: HTML로 인코딩된 텍스트를 디코딩합니다. __escapeHtml() 함수: Html 인코딩을 사용하여 텍스트를 인코딩합니다. 누락된 함수에 대한 참조(예: ${__missing(a)})는 이제 누락된 변수와 동일하게 처리됩니다. 이전에는 함수 이름과 선행 { -가 삭제되었습니다. 이렇게 하면 테스트 계획을 더 쉽게 디버그할 수 있습니다.
일부 주장은 이제 상위 샘플 뿐만 아니라(또는 대신) 하위 샘플에도 적용할 수 있습니다. 새로운 랜덤 변수 구성 요소가 있습니다.
JMS 샘플러가 훨씬 개선되었습니다(아래 세부 정보 참조). TCP 샘플러 는 이제 몇 가지 추가 클라이언트를 지원하며 좀 더 유연합니다.
클라이언트-서버 모드가 개선되었으며 서버는 선택적으로 고정 RMI 포트를 사용할 수 있으므로 방화벽 설정에 도움이 됩니다.
다양한 I18N이 변경되었습니다. 언어 변경이 더 잘 작동합니다(아직 완벽하지는 않지만). 향상된 프랑스어 번역과 새로운 폴란드어 및 브라질 포르투갈어 번역이 있습니다.
이제 BeanShell jar가 바이너리 아카이브에 포함됩니다. 별도로 다운로드할 필요가 없습니다.
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다. 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException 이 발생할 수 있습니다.
Once Only 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 올바르게 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
메뉴 항목 language "를 설정하십시오.
은 표시된 모든 텍스트를 새 언어로 변경하지 않습니다. [동작이 개선되었지만 언어 변경이 아직 완전히 작동하지 않음] 기본 로컬 언어를 완전히 무시하려면 JMeter 를 시작하기 전에 JMeter 속성 "호환되지 않는 변경 사항
파일에서 샘플 결과를 로드할 때 이전 결과가 더 이상 지워지지 않습니다. 이를 통해 여러 파일을 병합할 수 있습니다. 이전 동작이 필요한 경우 파일을 로드하기 전에
또는"결과를 파일에 저장" 및 "요약 결과 생성" 테스트 요소가 이제 리스너로 표시됩니다. 이전에는 리스너로 구현되었지만 포스트 프로세서로 표시되었습니다.
쿠키 관리자는 기본적으로 들어오는 쿠키를 더 이상 변수로 저장하지 않습니다. 쿠키를 변수로 저장하려면 " CookieManager.save.cookies=true " 속성을 정의하십시오. 또한 쿠키 이름에는 저장되기 전에 " COOKIE_ "가 접두사로 붙습니다(이렇게 하면 지역 변수가 우발적으로 손상되는 것을 방지할 수 있습니다). 원래 동작으로 되돌리려면 " CookieManager.name.prefix= " 속성을 정의하십시오(하나 이상의 공백).
Counter 요소는 이제 Configuration 요소로 표시됩니다. Config 항목으로 구현되었지만 이전에는 Pre-Processor로 표시되었습니다.
위의 변경 사항은 표시되는 아이콘과 GUI 팝업 메뉴의 위치에만 영향을 줍니다. 테스트 계획이나 테스트 동작에 영향을 주지 않습니다.
PreProcessors는 이제 TestCompiler#configureSampler() 메서드가 아닌 JMeterThread 클래스에 의해 직접 호출됩니다. (JMeterThread는 PostProcessors를 처리합니다). 이것은 테스트 계획이나 동작에 영향을 미치지 않지만 타사 추가 기능에 영향을 미칠 수 있습니다 (매우 가능성 없음).
범위 지정 규칙 하위 섹션을 섹션 3. "테스트 계획 작성"에서 섹션 4. "테스트 계획의 요소"로 이동했습니다.
While 컨트롤러는 이제 LAST , 공백 또는 false 와 비교되기 전에 조건 값에서 선행 및 후행 공백을 자릅니다 .
_jexl() 및 __javaScript() 함수의 "threadName" 변수는 이전에 "theadName"으로 철자가 잘못되었습니다.
다음 사용되지 않는 메소드가 JOrphanUtils에서 제거되었습니다: booleanToString(boolean) 및 valueOf(boolean). Java 1.4+에는 Boolean 클래스에 이러한 메소드가 있습니다.
TestElement 인터페이스에는 몇 가지 새로운 메서드가 있습니다.
- void setProperty(문자열 키, 문자열 값, 문자열 dflt)
- 무효 setProperty(문자열 키, 부울 값, 부울 dflt)
- void setProperty(문자열 키, 정수 값)
- 무효 setProperty(문자열 키, 정수 값, 정수 dflt)
- int getPropertyAsInt(문자열 키, int defaultValue)
버그 수정
HTTP 샘플러 및 프록시
- 버그 46332 - HTTP 쿠키 관리자가 수동으로 정의된 쿠키를 무시합니다(r707810에서 도입된 버그).
- 쿠키 관리자는 쿠키 정책을 런타임 스레드에 전달하지 않았으므로 항상 호환 모드를 사용했습니다.
- JMeter 쿠키 클래스에 버전 속성 추가(적절한 쿠키 지원에 필요)
- 이제 쿠키 관리자가 쿠키 버전을 저장/복원합니다.
- 쿠키를 저장하기 전에 쿠키의 유효성을 확인하십시오.
- HTTPSampler는 이제 게시된 파일 이름에 변수를 사용할 수 있습니다.
- 함수/변수가 작동하도록 HTTP POST의 첫 번째 파일 이름 처리 수정(여러 파일 지원으로 인한 버그)
- 버그 45831 - SOAP 패킷 생성이 실패한 경우 WS 샘플러가 잘못된 처리량을 보고함
- HTTP, SOAP/XML-RPC 및 WebService(SOAP) 샘플러 문자 인코딩이 보다 일관성 있게 업데이트되었습니다.
- 버그 46148 - jmeter.util에 대한 로깅이 DEBUG로 설정된 경우 SSL 요청에서 HTTP 샘플러가 실패함
- Java 1.6 https 오류 수정: java.net.SocketException: 연결되지 않은 소켓이 구현되지 않음
- 버그 46838 - 데이터가 없는 경우에도 HTTPSampler에서 대기 시간을 설정해야 합니다.
- 버그 46993 - 헤더 관리자에서 저장하면 ClassCastException이 생성됨
- 버그 46690 - 잘못된 상대 경로로 302 리디렉션을 처리합니다. JMeter는 이제 관련 없는 선행 "../" 세그먼트를 제거합니다(많은 브라우저와 마찬가지로).
- 버그 44521 - HTTP 요청의 POST에 대한 빈 변수가 무시되지 않음
- 버그 46977 - JMeter는 공백으로 구분되지 않은 HTTP 헤더를 처리하지 않습니다.
- HTTP 파일의 버그 수정: 처리 - 기본 인코딩의 문자가 아닌 읽기 바이트.
- 일반적으로 HTTP 스택에 의해 생성되므로 프록시 서버에 의해 저장된 헤더에서 호스트를 제거합니다.
- 버그 45199 - 프록시 기록에서 빈 변수를 바꾸려고 하지 마십시오.
- HTTPS 스푸핑을 변경하여 https: URL 일치에 실패하더라도 링크가 대체됩니다.
- 버그 46436 - Proxy Gui의 오류 보고 개선
- 버그 46435 - 오류 501(프록시 서버)에 대한 더 자세한 오류 메시지
기타 샘플러
- "prev" 및 "sampler" 객체는 이제 BSF 테스트 요소에 대해 정의됩니다.
- 클라이언트-서버 모드에서 JDBC를 사용할 때 NPE(DataSourceElement에서) 수정
- 버그 45425 - JDBC 요청이 유니코드를 지원하지 않음(UTF-8을 사용하도록 샘플러가 변경됨)
- 버그 46522 - 열 이름이 누락된 경우 JDBC 샘플의 잘못된 "응답 데이터"
- 버그 46821 - JDBC 선택 요청이 변수의 첫 번째 열을 저장하지 않습니다.
- 버그 43791 - JMS 지점 간 샘플러에서 QueueReceiver가 닫혀 있는지 확인합니다.
- 버그 46016 - JMSSampler에서 가능한 NPE 방지
- 버그 46142 - JMS 수신기가 이제 MessageID를 사용합니다.
- 버그 45458 - 인증과 결합된 지점 간 JMS
- 버그 45460 - JMS TestPlan 요소는 리소스 속성에 따라 다릅니다.
- 다양한 ReceiveSubscriber 스레드 안전 수정
- JMSPublisher 및 구독자 수정 사항: 스레드 안전성, 동적 로케일 변경 지원, JMX 속성 값에 대한 로케일 독립성
- FTP 샘플러는 이제 연결을 끊기 전에 로그아웃합니다.
- TCP 샘플러는 이제 setupTest() 및 teardownTest() 메서드를 호출합니다.
- 버그 45887 - TCPSampler: 시간 초과 속성이 잘못 설정되었습니다.
컨트롤러
- 상위 샘플과 함께 중첩 트랜잭션 컨트롤러를 사용할 때 NPE 수정
- 현재 샘플러가 실제 샘플러로 설정되도록 트랜잭션 컨트롤러 상위 모드의 처리 수정
- 버그 44941 - 처리량 컨트롤러가 전역 카운터를 공유해서는 안 됩니다.
- 버그 47120 - 처리량 컨트롤러: 백분율 실행을 총 실행으로 변경하고 값이 문자열에 저장되고 1회 실행으로 해석됩니다.
- 버그 47150 - 루프 수가 0인 ThreadGroup으로 인해 무한 루프가 발생함
- 버그 47009 - 상위 삽입으로 인해 하위 컨트롤러 이름이 재설정됨
- 버그 47165 - 명령줄 모드에서 중복 모듈 컨트롤러 이름을 사용하면 NPE가 발생합니다.
청취자
- Mailer Visualizer 문서는 이제 코드에 동의합니다. 즉 메일을 트리거하려면 실패/성공 횟수를 초과해야 합니다.
- 메일러 시각화 도우미는 이제 실패 횟수를 표시합니다.
- Mailer Visualiser - 테스트 버튼을 사용할 때 여러 전자 메일 주소의 구문 분석 수정
- 버그 45976 - 둘 이상의 서버에서 원격 테스트를 사용할 때 불완전한 결과 파일
- Summariser가 클라이언트 서버 모드에서 작동하도록 수정
- 버그 34096 - CSV 파일에 쓸 때 중복 샘플이 제거되지 않음
- 집계 및 요약 보고서에서 "레이블에 그룹 이름 포함" 설정 저장
- JMeter 변수 "sample_variables"는 클라이언트가 데이터를 사용할 수 있도록 모든 서버 인스턴스에 전송됩니다.
- CSVSaveService - 인용 문자열을 읽는 동안 EOF 확인
주장
기능
- 정규식 함수 수정 - $m$mid$n$을 올바르게 처리하지 못했습니다.
- 테스트 종료 중에 호출되는 경우 RegexFunction에서 가능한 NPE로부터 보호합니다.
- XPath 기능이 노드와 일치하지 않으면 NPE를 피하십시오.
- __jexl() 및 __javaScript() 함수에서 변수 이름 "theadName"을 "threadName"으로 수정합니다.
- 누락된 함수에 대한 참조(예: ${__missing(a)})는 이제 누락된 변수와 동일하게 처리됩니다. 이전에는 함수 이름과 선행 { -가 삭제되었습니다.
I18N
- 메뉴의 언어 변경 처리 수정(TestBeans에서는 아직 작동하지 않음)
- 헤더 리소스 이름을 지원하려면 HeaderAsPropertyRenderer를 추가하십시오. 이것을 사용하여 다양한 GUI 요소의 로케일 변경 사항을 수정하십시오.
- 버그 46424 - 프랑스어 번역 수정
- 버그 46844 - 테스트 계획의 "라이브러리" 레이블이 I18N이 아닙니다.
- 버그 47064 - Mac LAF 수정
- 버그 47127 - 언어를 pl_PL로 변경할 수 없음
- 버그 47137 - 결과 보기 트리의 레이블이 I18N이 아닙니다.
- 버그 46423 - 프록시 레코더의 I18N
- 버그 45928 - AJP/1.3 샘플러가 messages.properties에서 레이블을 검색하지 않습니다.
일반적인
- 새 테스트 계획을 처음 저장할 때 기존 파일을 덮어쓸지 묻는 메시지 표시
- 리스너에 대한 올바른 팝업 메뉴를 표시하도록 TestBeans 수정
- 버그 45185 - CSV 데이터 세트 공백 구분 기호로 인해 OOM 발생
- 잘못된 GUI 분류 수정: "결과를 파일에 저장" 및 "요약 결과 생성"이 이제 리스너로 표시됩니다. 이제 "카운터"가 구성 요소로 표시됩니다.
- 버그 41608 - 오해의 소지가 있는 경고 로그 메시지가 제거됨
- 버그 46359 - BSF JavaScript 전처리기가 첫 번째 반복에서 샘플러 변수에 액세스할 수 없음(BSF-22에 대한 임시 해결 방법 구현)
- 버그 46407 - BSF 요소가 스크립트 파일을 로드하지 않고 파일 이름을 스크립트로 해석하려고 시도합니다.
- 테스트 종료 중 예외 처리 개선
- JMeterThread 클래스에서 잠재적인 스레드 안전 문제 수정
- 버그 46491 - "CSV 데이터 세트 구성"의 마지막 변수에 대한 잘못된 값(따옴표로 묶은 문자열 처리 오류)
개량
HTTP 샘플러
- 버그 45479 - 여러 HTTP 헤더 관리자 노드 지원
- HTTP 샘플러는 이제 연결 및 요청 시간 초과를 지원합니다(Java Http 샘플러용 Java 1.5 필요).
- Apache SOAP 2.3.1은 HTTP 응답 코드/메시지에 대한 액세스를 제공하지 않으므로 WebService 샘플러는 이제 빈 응답을 오류로 처리합니다.
- 미러 서버는 이제 "X-Sleep" 헤더를 지원합니다. 이 헤더가 설정되면 응답 스레드가 지정된 밀리초 동안 대기합니다.
- 버그 45694 - 액세스 로그 샘플러에서 GZIP 압축 로그 지원
기타 샘플러
- JDBC 요청은 선택적으로 Select 문의 결과를 변수에 저장할 수 있습니다.
- JDBC 요청은 이제 인용 문자열을 처리합니다.
- JDBC 요청은 이제 임의의 변수 유형을 처리합니다.
- 이제 줄 바꿈으로 형식이 지정된 LDAP 결과 데이터
- 버그 45200 - MailReaderSampler: 전체 MIME 메시지를 SamplerResult에 저장합니다.
- 버그 45571 - JMS 샘플러 상관 관계 향상
- 버그 46030 - 길이 접두사가 붙은 이진 데이터를 지원하도록 TCP 샘플러 확장
- TCP 샘플러 GUI에 클래스 이름 필드 추가
컨트롤러
- If Controller가 변수 표현식을 사용하도록 허용(Javascript뿐만 아니라)
- LAST, 공백 또는 거짓과 비교하기 전에 While 컨트롤러 조건에서 공백을 자릅니다.
청취자
- 파일에 대한 응답 저장은 생성된 파일 이름을 변수에 저장할 수 있습니다.
- 파일에 응답 저장에서 접미사 생성을 건너뛰는 옵션 추가
- 버그 43119 - 파일에 응답 저장: 선택적으로 파일 번호 생략
- BSF 리스너 요소 추가
- 버그 47176 - 결과 모니터링: 로드 상태 그래픽 개선
- 버그 40045 - 결과 모니터가 특정 커넥터를 선택하도록 허용
- XML JTL 파일을 보다 효율적으로 읽기 - 샘플을 모두 저장한 다음 처리하지 않고 읽을 때 시각화 도우미에 전달
어설션, 구성, 사전 및 사후 프로세서
- 버그 45903 - 어설션이 하위 샘플에 적용되도록 허용
- 정규식 추출기에 본문(이스케이프 처리되지 않은) 소스 옵션을 추가합니다.
- 랜덤 변수 - 랜덤 숫자 변수를 생성하기 위한 새로운 구성 요소
기능
- __jexl() 함수에 OUT 및 로그 변수 추가
- Script를 사용하여 __jexl() 함수를 평가하여 여러 명령문을 가질 수 있습니다.
- __javaScript() 함수에 로그 변수 추가
- __char() 함수 추가: 필드에 임의의 유니코드 문자를 입력할 수 있습니다.
- __unescape() 함수 추가: Java 이스케이프 문자열을 사용할 수 있습니다.
- __unescapeHtml() 함수 추가: HTML로 인코딩된 텍스트를 디코딩합니다.
- __escapeHtml() 함수 추가: Html 인코딩을 사용하여 텍스트를 인코딩합니다.
I18N
- 버그 45929 - 프랑스어 번역 개선
- 버그 47132 - 브라질 포르투갈어 번역
- 버그 46900 - 폴란드어 번역
- 새 로케일을 허용하기 위해 locales.add 속성을 추가했습니다.
일반적인
- JMeter 경로 이름에 공백 허용( Java 버그 4496398 에 대한 임시 해결책 적용 )
- 사용자가 기본 설정을 재정의할 수 있도록 스크립트 파일에서 JVM_ARGS를 마지막으로 처리
- 버그 46636 - 서버 모드에서 고정 rmi 포트를 선택적으로 사용하도록 허용
- 일부 샘플러를 인터럽트 가능하게 만들기: HTTP(둘 다), SoapSampler, FTPSampler
- 테스트 작업은 이제 스레드 그룹 및 결과 상태 포스트 프로세서 요소와 마찬가지로 "지금 중지" 작업을 지원합니다.
- 이제 중지 및 종료 메뉴 항목이 더 잘 작동합니다. 종료는 이제 모든 스레드가 종료될 때까지 기다립니다. GUI 모드에서는 취소하고 대신 실행을 중지할 수 있습니다. Stop now는 일부 스레드가 종료되지 않을 경우 보고하고 비 GUI 모드에서 실행 중인 경우 종료합니다.
- 비 GUI 모드에서 실행 중인 경우 종료 메시지를 기다리도록 UDP 서버를 추가합니다. 메시지를 보낼 UDP 클라이언트를 추가합니다.
- 버그 41209 - JLabeled* 및 도구 설명
- 바이너리 다운로드에 BeanShell 2.0b4 jar를 포함합니다.
비기능적 변경
- 시각적 출력 없이 리스너를 더 쉽게 생성할 수 있도록 AbstractListenerGui 클래스 도입
- 어설션은 PostProcessors 이후에 실행됩니다. 그에 따라 팝업 메뉴의 순서를 변경
- 함수 클래스에서 불필요한 clone() 메서드 제거
- PreProcessor 호출을 JMeterThread 클래스로 이동
- HashTree 맵 필드를 최종으로 만들었습니다.
- 여러 샘플에 대해 ResultCollector#isSampleWanted() 호출 성능 향상
- xmlgraphics-commons(1.3.1), jdom(1.1), xstream(1.3.1), velocity(1.6.2)의 새 버전으로 업데이트됨
버전 2.3.2
주요 변경 사항 요약
버그 수정
버전 2.3.1은 View Results Tree Listener에 관한 한 바이너리 및 텍스트 콘텐츠 유형이 결정되는 방식을 변경했습니다. 원래 "image/" 콘텐츠 유형을 제외한 모든 것이 텍스트로 간주되었지만 2.3.1은 특정 콘텐츠 유형에 대한 검사를 도입했습니다. 몇 가지 인기 있는 유형이 생략되고 응답 탭에 기본적으로 더 이상 표시되지 않아 문제가 발생했습니다. 가능한 모든 텍스트 유형을 나열하려고 하는 대신 JMeter는 이제 다음 바이너리 유형만 확인합니다.
- 영상/*
- 오디오/*
- 동영상/*
JMeter 2.3.1은 쿠키 관리자에 버그를 도입했습니다. "각 반복마다 쿠키 지우기"를 선택하면 모든 스레드에 동일한 쿠키가 표시됩니다. 이 버그가 수정되었습니다.
개량
이제 프록시 서버가 바이너리 요청을 기록할 수 있습니다. 기본적으로 컨텐츠 유형 application/x-amf 및 application/x-java-serialized-object는 바이너리로 처리되고 파일에 저장됩니다. 콘텐츠 유형을 변경하려면 proxy.binary.types 속성을 업데이트하십시오 .
CSV Dataset 구성 요소에는 스레드 그룹당, 스레드당, 식별자당이라는 새로운 파일 공유 옵션이 있습니다. 이것은 보다 유연한 파일 처리를 가능하게 합니다. 예를 들어, 각 스레드는 동일한 순서로 동일한 데이터를 처리할 수 있습니다.
스위치 컨트롤러는 이제 함수 및 변수와 함께 제대로 작동하며 조건은 이제 숫자 대신 이름이 될 수 있습니다. Simple Controller는 이제 While 컨트롤러에서 제대로 작동합니다.
이제 JTL 파일의 CSV 필드에 구분 기호가 포함될 수 있습니다. CSV 및 XML 파일은 이제 추가 변수를 포함할 수 있습니다(JMeter 속성 sample_variables 정의 ).
응답 어설션은 이제 하위 문자열(즉, 정규 표현식이 아님)과 일치할 수 있습니다. 정규식 추출기는 변수에 대해 작동할 수 있습니다.
XPath 처리가 개선되었습니다. 깔끔한 오류가 더 잘 처리됩니다.
요약 및 집계 보고서에 테이블 데이터 저장 버튼이 추가되어 계산된 데이터를 쉽게 저장할 수 있습니다.
HTTP 샘플러는 이제 전체 응답이 아닌 응답의 MD5 해시만 저장할 수 있습니다. 특수한 경우로, HTTP 샘플러 경로가 "http://" 또는 "https://"로 시작하면 이 경로가 전체 URL로 사용되어 호스트 및 포트 필드를 재정의합니다. HTTP 샘플러는 이제 여러 파일을 POST할 수 있습니다. Webservice(SOAP) 샘플러는 이제 "file:" 프로토콜을 사용하여 로컬 WSDL 파일을 로드할 수 있습니다.
간단한 HTTP 캐시 관리자가 추가되었습니다. 이것은 추가 개발이 필요합니다.
결과 보기 트리 수신기는 이제 Tidy를 사용하여 XML을 표시합니다. 이렇게 하면 더 많은 콘텐츠가 성공적으로 표시될 수 있습니다. 또한 원격 DTD 파일을 다운로드할 필요가 없어 렌더링 속도가 상당히 느려질 수 있습니다.
MailReader 샘플러는 이제 POP3S 및 IMAPS 프로토콜을 지원합니다. 개별 메일은 이제 하위 샘플로 추가됩니다.
BSF 샘플러의 다양한 개선 사항: 이제 Jexl을 지원하고 Javascript 버그가 제대로 작동합니다. BSF PreProcessor, PostProcessor 및 Assertion 테스트 요소를 추가했습니다. 이제 모두 "props" JMeter 속성 개체에 액세스할 수 있습니다.
비 GUI 모드에서 로드되는 클래스 수가 훨씬 줄어듭니다.
알려진 버그
포함 컨트롤러는 비 GUI 모드에서 몇 가지 문제가 있습니다. 특히 이름이 같은 두 개의 포함 컨트롤러가 있는 경우 NullPointerException이 발생할 수 있습니다.
한 번만 컨트롤러는 스레드 그룹 또는 루프 컨트롤러에서 정상적으로 동작하지만 그렇지 않으면 동작이 일관되지 않거나 명확하게 지정되지 않습니다.
메뉴 항목 옵션 / 언어 선택은 표시된 모든 텍스트를 새 언어로 변경하지 않습니다. 기본 로컬 언어를 재정의하려면 JMeter를 시작하기 전에 JMeter 속성 "언어"를 설정하십시오.
호환되지 않는 변경 사항
- 비 GUI 모드에서 로드되는 클래스 수를 줄이기 위해 함수는 해당 클래스 이름에 '.functions' 문자열이 포함된 경우에만 찾을 수 있습니다. '.gui.' 문자열을 포함하지 않습니다. 모든 기존 JMeter 기능은 이 제한을 따릅니다. 이전 동작으로 되돌리려면 jmeter.properties에서 classfinder.functions.* 속성을 주석 처리하거나 변경하십시오.
- intSum()에 대한 참조 값 매개변수는 이제 선택 사항입니다. 결과적으로 변수 이름이 사용되는 경우 유효한 정수가 아니어야 합니다.
- 제공된 TCPClient 구현은 더 이상 tcp.eolByte=0을 특별한 것으로 취급하지 않습니다. EOL 검사를 건너뛰려면 tcp.eolByte=1000(또는 유효한 바이트가 아닌 다른 값)을 설정하십시오.
- 선행 및 후행 공백은 함수 호출의 변수 이름에서 잘립니다. 예를 들어, ${__Random(1,63, LOTTERY )}는 ' LOTTERY '가 아닌 'LOTTERY' 변수를 사용합니다.
- RunningSample 클래스에서 동기화가 제거되었습니다(어쨌든 완전히 스레드로부터 안전하지는 않음). 클래스를 사용하는 타사 애드온 개발자는 액세스를 동기화해야 할 수 있습니다.
버그 수정
- CSV 구분 기호가 적절한지 확인하십시오.
- 기능 및 변수와 함께 제대로 작동하도록 스위치 컨트롤러 수정
- 버그 44011 - application/soap+xml이 텍스트 유형으로 처리되지 않음
- 버그 43427 - 단순 컨트롤러가 While 루프에서 부분적으로만 실행됩니다.
- 버그 33954 - If/While 컨트롤러의 스택 오버플로(이전에 수정되었을 수 있음)
- 버그 44022 - 테스트 계획을 닫을 때 메모리 누수
- 버그 44042 - 쿠키 관리자의 회귀(2.3.1에서 도입된 버그)
- 버그 41028 - 호스트가 루프백 주소로 정의될 때 JMeter 서버가 사용자에게 경고하지 않음
- 버그 44142 - 매개변수가 생략된 경우 __machineName 함수로 인해 NPE가 발생합니다.
- 버그 44144 - JMS 지점 간: 요청 응답 테스트가 작동하지 않음
- 버그 44314 - 둘 이상의 SyncTimer를 추가할 수 없음
- Tidy 콘솔 오류 출력 캡처 및 기록
- XPath Assertion 및 XPath Extractor에서 Tidy(tolerant parser) 사용 문제 수정
- 버그 44374 - 타이머 계산 개선
- 정규식 추출기는 이제 이전 일치 항목에서 오래된 변수를 모두 삭제합니다.
- 버그 44707 - 원격 테스트를 실행하면 내부 테스트 계획이 변경됩니다.
- 버그 44625 - "put" 및 "get" 작업이 서로 다른 두 개 이상의 FTP 샘플러를 가질 수 없습니다.
- 버그 40850 - BeanShell 메모리 누수
- 성공적인 JDBC 샘플에 대해 ResponseCode 및 ResponseMessage가 설정되었는지 확인하십시오.
- FTPSampler는 이제 원격 파일 열기 실패를 감지하고 보고합니다.
- search_paths 및 user.classpath에 정의된 클래스 디렉토리는 더 이상 후행 "/"가 필요하지 않습니다.
- 버그 44852 SOAP/XML-RPC 요청이 결과 보기 트리에 요청 세부 정보를 표시하지 않습니다.
- WebService(SOAP) 샘플러 ResponseData에는 이제 서버에서 보낸 EOL이 포함됩니다.
- 버그 44910 - TCP 샘플러에서 이전 소켓(있는 경우) 닫기
- 버그 44912 - 로그 파서에서 필터가 작동하지 않음
- BeanShell 및 BSF 구성 요소 문서는 "SampleResponse" 개체에 대한 일부 잘못된 참조를 만들었습니다. 이것은 "SampleResult"로 수정되었습니다.
- BSF 샘플러는 이제 Javascript에서 제대로 작동합니다.
- 테스트 작업 "테스트 중지"가 이제 작동합니다.
- 버그 42833 - Argument 클래스는 getArgumentsAsMap()에서 LinkedHashMap을 사용하여 순서를 유지합니다.
- 버그 45093 - SizeAssertion이 getBytes()를 호출하지 않았습니다.
- 버그 45007 - 프록시 HTTPS 스푸핑을 사용할 때 위치 헤더 다시 쓰기
- 클라이언트에 헤더를 반환할 때 프록시에서 LF 대신 CRLF 사용
- 버그 45007 - 콘텐츠가 변경되었을 수 있는 경우 콘텐츠 길이 헤더 수정
개량
- CSV 파일은 이제 포함된 구분 기호가 있는 필드를 처리할 수 있습니다.
- longSum() 함수 추가
- 버그 43382 - XPath 어설션 및 포스트 프로세서에 대한 Tidy 출력(경고, 오류) 구성
- 버그 43984 - 포트 필드에서 공백 자르기
- __log() 함수에 선택적 주석 추가
- 임의 함수 변수 이름을 선택 사항으로 설정
- '.functions'가 포함된 클래스 이름에서 함수만 검색하여 비 GUI 모드에서 클래스 로드를 줄입니다. '.gui'를 포함하지 마십시오.
- 버그 43379 - 스위치 컨트롤러는 이제 이름과 번호로 선택을 지원합니다.
- JTL 파일(CSV 및 XML 형식)에 기록할 변수 이름 목록을 지정할 수 있습니다.
- 이제 remoteStart 옵션 -r 및 -R이 non_GUI -n 옵션과 함께만 사용되는지 확인합니다.
- 버그 44184 - 헤더가 집계 그래프 데이터와 함께 저장되도록 허용
- 집계 및 요약 보고서에 "테이블 데이터 저장" 버튼 추가 - 헤더가 있는 CSV 형식으로 테이블 저장
- 테스트 계획에서 대부분의 기능을 사용할 수 있습니다. 참고 __evalVar(), __split() 및 __regex()는 테스트 계획에서 사용할 수 없습니다.
- -Gglobal.properties와 같은 파일에서 전역 속성을 로드할 수 있습니다.
- 응답 어설션에 "하위 문자열" 옵션 추가
- 버그 44378 - 터키어 현지화
- Jexl 함수에 선택적 출력 변수 이름 추가
- application/vnd.wap.xhtml+xml을 텍스트 유형으로 추가
- 결과 트리 보기에서 최대 표시 크기를 재정의하는 수단 추가 - 속성 설정: view.results.tree.max_size
- Tidy를 사용하여 View Results Tree Listener에 XML 표시(DTD 가져오기 방지)
- 버그 44487 - 독일어 번역
- 특별한 경우로, HTTP 샘플러 경로가 "http://" 또는 "https://"로 시작하면 이것이 전체 URL로 사용됩니다.
- 버그 44575 - 결과 보호기는 이제 성공한 결과만 저장할 수 있습니다.
- 버그 44650 - CSV 데이터 세트가 이제 인용된 열 값을 처리합니다.
- 버그 44600 - Java 1.5 이상에서 실행할 때 1ms 해상도 타이머
- 버그 44632 - FTP 샘플러에 대한 텍스트 입력 향상
- 버그 42204 - 집계 및 요약 보고서에 스레드 그룹 이름 추가
- FTP 샘플러 설정 대기 시간 = 로그인 시간
- FTP 샘플러는 가능한 경우 URL을 설정합니다.
- 버그 41921 - 샘플러가 응답의 MD5를 저장하는 옵션을 추가합니다. HTTP 샘플러에 대해 완료되었습니다.
- 정규식 함수는 이제 이전 샘플 결과뿐만 아니라 변수에도 적용할 수 있습니다.
- 더 이상 사용되지 않는 메뉴에서 HTML 매개변수 마스크, HTTP 사용자 매개변수 수정자를 제거합니다.
- 버그 44807 - 세션 ID가 백슬래시로 종료되도록 허용
- 버그 44784 - 추가 문자 집합을 반환하는 손상된 서버 허용
- TESTSTART.MS 속성 추가됨 / 변수 = 테스트 시작 시간(밀리초)
- 메일 리더 샘플러에 POP3S 및 IMAPS 프로토콜을 추가합니다.
- 메일 리더 샘플러는 이제 각 메일에 대한 하위 샘플을 만듭니다.
- 제공된 TCPClient 구현은 더 이상 tcp.eolByte=0을 특별한 것으로 취급하지 않습니다. EOL 검사를 건너뛰려면 tcp.eolByte=1000(또는 유효한 바이트가 아닌 다른 값)을 설정하십시오.
- JUnit 샘플러 GUI는 이제 user.classpath에 정의된 테스트 클래스도 찾습니다.
- 선행 및 후행 공백은 함수 호출의 변수 이름에서 잘립니다. 예를 들어, ${__Random(1,63, LOTTERY )} 는 ' LOTTERY '가 아닌 'LOTTERY' 변수를 사용합니다.
- Webservice(SOAP) 샘플러는 이제 다음 파일을 사용하여 로컬 WSDL 파일을 로드할 수 있습니다.
- 버그 44872 - 파일 열기 대화 상자에 "모든 파일" 필터 추가
- 이제 미러 서버를 독립적으로 실행할 수 있습니다(mirror-server.cmd 및 mirror-server.sh).
- 버그 19128 - HTTP 샘플러에 다중 파일 POST 지원 추가됨
- 마지막 테스트 실행을 의미하는 특수 이름 LAST의 사용을 허용합니다. -t, -l, -j 플래그에 적용됩니다.
- 버그 44418 /42178 - CSV 데이터 세트 파일 처리 개선 사항
- "props" 객체를 통해 BeanShell, Javascript 및 Jexl 함수에 JMeter 속성에 대한 액세스 권한 부여
- "props" 개체를 통해 BSF 샘플러에 JMeter 속성에 대한 액세스 권한 부여
- 지원되는 BSF 샘플러 언어로 Jexl 추가
- "props" 객체를 통해 Beanshell 테스트 요소에 JMeter 속성에 대한 액세스 권한 부여
- BSF PreProcessor, PostProcessor 및 Assertion 테스트 요소 추가
- 모든 BSF 요소는 이제 변수 "OUT"을 통해 System.out에 액세스할 수 있습니다.
- 변수 이름을 처리하도록 요약기가 업데이트되었습니다.
- 간헐적인 샘플 손실을 방지하기 위해 요약 및 집계 보고서에 동기화가 추가되었습니다.
- 버그 44808 , 버그 39641 - 바이너리 요청에 대한 프록시 지원
- 버그 28502 - HTTP 리소스 캐시
비기능적 변경
- MirrorServer 시작 문제를 더 잘 처리하고 단위 테스트를 개선했습니다.
- 이제 빌드 프로세스에서 누락된 타사 라이브러리를 감지 하고 바이너리 및 소스 아카이브 모두에 대한 필요성 보고
- jar가 없으면 BeanShell 테스트 건너뛰기
- Xerces 2.9.1, Xalan 2.7.1, Commons IO 1.4, Commons Lang 2.4, Commons-Logging 1.1.1, XStream 1.3, XPP3 1.1.4c 업데이트
- 로그/로그온 기능 설명에 속성 사용
- demos 디렉토리의 모든 jmx 파일을 로드할 수 있는지 확인하십시오.
- 저작권을 2008년으로 업데이트하십시오. HTML 출력에서 숫자 대신 복사 태그 사용
- 생성자에서 호출된 메서드는 재정의할 수 없어야 합니다. GUI 초기화 메서드를 비공개로 설정
- 가능하면 정적 변수를 최종 변수로 만드십시오.
- 변경 사항을 현재 및 이전으로 분할
버전 2.3.1
변경 사항 요약
JMeter 프록시
프록시 스푸핑 기능은 2.3에서 깨졌습니다. 수정되었습니다. 스푸핑은 이제 특정 URL로 스푸핑을 제한하는 선택적 매개변수를 지원합니다. 이것은 안전하지 않은 콘텐츠가 있는 HTTPS 페이지에 유용합니다. 예를 들어 HTTP를 사용하여 이미지/스타일시트에 액세스할 수 있습니다. 스푸핑된 응답은 이제 더 잘 작동하도록 https 링크에서 기본 포트(443)를 삭제합니다.
무시된 프록시 샘플은 이제 리스너에서 볼 수 있습니다. 레이블은 표시로 [ 및 ]로 묶여 있습니다. 프록시 문서가 개선되었습니다.
GUI 변경
추가 메뉴는 처리되는 순서대로 요소 유형을 표시합니다 . 테스트 계획 실행 순서 를 참조하십시오 . 더 이상 트리의 부적절한 부분에 테스트 요소를 추가할 수 없습니다. 예를 들어 테스트 계획 아래에 샘플러를 직접 추가할 수 없습니다. 이는 붙여넣기 및 끌어서 놓기에도 적용됩니다.
파일 메뉴는 이제 현재 파일을 다시 로드하는 "되돌리기" 옵션을 지원합니다. 또한 사용된 마지막 몇 개의 파일 이름은 쉽게 다시 로드할 수 있도록 기억됩니다.
옵션 메뉴는 이제 모두 축소 및 모두 확장 항목을 지원하여 테스트 트리를 축소 및 확장합니다.
원격 테스트
JMeter 서버는 이제 RMI 서버를 직접 시작합니다(기본값). 이것은 테스트를 단순화하고 서버가 중지될 때 RMI 서버가 중지됨을 의미합니다.
이제 리스너 파일 이름에서 함수를 사용할 수 있습니다(변수가 작동하지 않음).
이제 명령줄 옵션 -G를 사용하여 원격 서버의 속성을 정의할 수 있습니다. 옵션 -X는 GUI가 아닌 실행 후 원격 서버를 중지하는 데 사용할 수 있습니다. 서버는 단일 테스트 후에 자동으로 종료되도록 설정할 수 있습니다(server.exitaftertest=true 속성 설정).
기타 개선 사항
JMeter 시작은 더 이상 많은 클래스를 로드하지 않습니다. 이것은 메모리 요구 사항을 줄여야 합니다.
모든 BeanShell 요소에 매개변수 및 파일 지원이 추가되었습니다. Javascript 기능은 이제 JMeter 개체에 대한 액세스를 지원합니다. Jexl 함수에는 항상 액세스 권한이 있었지만 이제 문서가 포함되었습니다. 변수 평가를 위한 새로운 함수 __eval() 및 __evalVar().
이제 올바른 헤더 열 이름을 가진 CSV 파일이 로드될 때 자동으로 인식됩니다. 속성을 구성할 필요가 없습니다.
이제 호스트 이름을 CSV 및 XML 출력 파일에 저장할 수 있습니다. 결과 파일을 저장할 때 새로운 "성공만" 옵션이 추가되었습니다. 이제 XML 및 CSV 파일을 로드할 때 오류/성공만 옵션이 지원됩니다.
일반 문서 개선.
HTTP
이제 PUT 및 DELETE가 제대로 작동합니다. 쿠키 관리자는 더 이상 수동으로 입력한 쿠키를 지우지 않습니다.
이제 META 태그 http-equiv charset을 처리합니다.
JDBC
JDBC 샘플러는 이제 호출된 프로시저에 대한 INOUT 및 OUT 매개변수를 허용합니다. JDBC 샘플러는 이제 스레드별 연결을 허용합니다. JDBC 구성에서 Max Connections = 0으로 설정하십시오.
호환되지 않는 변경 사항
- JMeter 서버는 이제 기본적으로 RMI 레지스트리를 생성합니다. RMI 레지스트리가 이미 외부에서 시작된 경우 경고 메시지가 생성되지만 서버는 계속됩니다. 이것은 JMeter 테스트에 영향을 미치지 않습니다. 그러나 다른 응용 프로그램에도 RMI 레지스트리를 사용하는 경우 문제가 있을 수 있습니다. 예를 들어 JMeter 서버가 종료되면 RMI 레지스트리가 중지됩니다. 또한 사용자가 작성한 명령 파일을 조정해야 할 수도 있습니다(JMeter와 함께 제공되는 파일이 업데이트됨). 이전 동작으로 되돌리려면 JMeter 속성을 정의하십시오. server.rmi.create=false .
- 프록시 서버는 생성된 헤더 관리자에서 If-Modified-Since 및 If-None-Match 헤더를 제거합니다. 이전 동작으로 되돌리려면 값 없이 proxy.headers.remove 속성을 정의하십시오.
버그 수정
- 버그 43430 - 활성 스레드 수가 원격 샘플에 대해 올바르지 않습니다.
- 처리량 컨트롤러가 "모든 스레드" 수에 대해 작동하지 않았습니다.
- POST 본문이 매개변수 값으로만 빌드된 경우 확인란이 설정되어 있으면 이제 인코딩됩니다.
- 버그 43584 - 어설션 실패 메시지에 CSV 파일의 구분 기호로도 사용되는 쉼표가 포함되어 있습니다.
- HTTP 미러 서버는 이제 항상 정확히 동일한 내용을 반환합니다. 예를 들어 HTTP POST 본문에 UTF-8 인코딩이 사용된 경우 잘못된 데이터를 반환하는 데 사용되었습니다.
- 버그 43612 - HTTP PUT이 요청 매개변수를 존중하지 않음
- 버그 43694 - ForEach 컨트롤러(빈 컬렉션 처리 오류)
- 버그 42012 - 가변 리스너 파일 이름이 원격 테스트에서 처리되지 않습니다. 이제 파일 이름에 함수 참조가 포함될 수 있습니다. 변수 참조가 작동하지 않습니다.
- 복사하여 붙여넣을 때 리스너 노드가 고유한 저장 구성을 갖도록 합니다.
- 올바른 프록시 서버는 일치하는 설명을 포함 및 제외합니다. 이전에 문서화된 것과 달리 포트 및 쿼리가 포함됩니다.
- 집계 그래프 및 집계 보고서 열 머리글은 KB/초입니다. 값을 바이트가 아닌 KB로 수정했습니다.
- SamplingStatCalculator가 SampleResult에서 처리되므로 더 이상 endTime에 경과 시간을 추가하지 않도록 수정합니다. 이렇게 하면 요약 보고서와 집계 보고서 처리량 계산 간의 불일치가 수정됩니다.
- ISO-8859-1 인코딩에 대한 기본 HTTPSampleResult
- 공백 인코딩에 대한 기본 인코딩 수정
- 2.3에서 깨진 Https 스푸핑(포트 문제) 수정
- http.java.sampler.retries가 재시도를 의미하도록 HTTP(Java) 샘플러를 수정합니다. 즉, 초기 시도를 포함하지 않습니다.
- TEXT 문서를 더 잘 감지하기 위해 SampleResult 데이터 유형 검사 수정
개량
- 패키지에 run_gui Ant 대상을 추가한 다음 Ant에서 JMeter GUI를 시작합니다.
- 파일 추가 → 되돌리기를 통해 현재 변경 사항을 쉽게 삭제하고 현재 로드된 프로젝트 파일을 다시 로드합니다.
- 버그 31366 - 최근에 연 파일 기억
- 버그 43351 - 모든 BeanShell 테스트 요소에 매개변수 및 스크립트 파일에 대한 지원 추가
- SaveService는 더 이상 클래스를 인스턴스화할 필요가 없습니다.
- 새로운 함수: __eval() 및 __evalVar()
- 이제 메뉴 항목이 실행 순서대로 나타납니다.
- 테스트 계획 항목은 이제 허용된 트리의 일부에만 놓기/붙여넣기/병합할 수 있습니다.
- System 및 JMeter 속성의 값을 표시하고 변경할 수 있도록 하는 속성 표시
- 버그 43451 - Regex Extractor가 응답 코드/메시지에서 작동하도록 허용
- JDBC 샘플러는 이제 호출된 프로시저에 대해 INOUT 및 OUT 매개변수를 허용합니다.
- JDBC 샘플러는 이제 스레드별 연결을 허용합니다.
- 쿠키 관리자가 더 이상 GUI에 정의된 쿠키를 지우지 않습니다.
- 이름이 없는 HTTP 매개변수는 무시됩니다(파일이 없는 POST 요청 제외).
- 메인 메뉴에 "다른 이름으로 선택 저장" 추가 이제 항목만 선택되었는지 확인합니다.
- 테스트 계획에는 이제 붙여넣기 메뉴 항목이 있습니다(붙여넣기는 이미 ^V를 통해 지원됨).
- CSV 파일을 로드할 때 기본 구분 기호가 작동하지 않으면 헤더 행을 분석하여 구분 기호를 추측합니다.
- HttpClient 샘플러에 대한 선택적 "루프백" 프로토콜 추가
- HTTP 미러 서버는 이제 요청에 콘텐츠 길이 헤더가 있는 경우 더 많은 데이터가 나타날 때까지 기다리는 차단을 지원합니다.
- HTTP 미러 서버 GUI에는 이제 시작 및 중지 버튼이 더 잘 보이는 위치에 있습니다.
- 서버 모드는 이제 RMI 레지스트리를 생성합니다. 비활성화하려면 JMeter 속성 server.rmi.create=false 설정
- HTTP 샘플러는 이제 본문이 매개변수 값에서 구성될 때 콘텐츠 유형 요청 헤더를 지정하기 위해 MIME 유형 필드를 사용하는 것을 지원합니다.
- 단일 서버 테스트 후 종료 활성화 - JMeter 속성 정의 server.exitaftertest=true
- 원격 서버에서 속성을 설정하는 -G 옵션 추가
- GUI가 아닌 실행 후 원격 서버를 중지하는 -X 옵션 추가
- 버그 43485 - SOAP/XML-RPC 요청에서 연결 유지를 지정하는 기능
- 버그 43678 - META 태그 http-equiv charset 처리
- 버그 42555 - [I18N] 프랑스어 번역 수정 제안
- 버그 43727 - 테스트 작업이 변수 또는 함수를 지원하지 않음
- 프록시 서버는 기본적으로 생성된 헤더 관리자에서 If-Modified-Since 및 If-None-Match 헤더를 제거합니다. 제거된 헤더 목록을 변경하려면 proxy.headers.remove 속성을 제거할 헤더의 쉼표로 구분된 목록으로 정의하십시오.
- javaScript 함수는 이제 JMeter 변수 및 컨텍스트 등에 액세스할 수 있습니다. JavaScript 함수 참조
- BSF 샘플러 언어 필드에 드롭다운 목록 사용
- CSV 및 XML 출력 파일에 저장할 수 있는 항목에 호스트 이름을 추가합니다.
- 이제 XML 및 CSV 파일을 로드할 때 오류 전용 플래그가 지원됩니다.
- ResultCollector가 SaveService 인코딩을 사용하는지 확인하십시오.
- 프록시는 이제 https와 함께 사용하려는 시도를 거부합니다.
- 프록시 스푸핑은 이제 RE 일치를 사용하여 스푸핑할 URL을 결정할 수 있습니다(이미지가 https가 아닌 경우 유용).
- 프록시 스푸핑은 이제 https: 링크를 http로 변환할 때 기본 HTTPS 포트(443)를 삭제합니다.
- 추가 성공만 로깅 및 표시
- JMeter 로그 파일 이름은 'jmeter_'yyyyMMddHHmmss'.log'와 같이 작은 따옴표 쌍을 포함하는 경우 SimpleDateFormat(현재 날짜에 적용됨) 형식으로 지정됩니다.
- 모두 축소 및 모두 확장 옵션 메뉴 항목 추가
- 텍스트로 볼 수 있는 추가 콘텐츠 유형의 선택적 정의 허용
비기능 개선
- 펑터 코드가 강화되었습니다. 이제 Functor는 사전 정의된 대상 및 매개변수는 물론 인터페이스와 함께 사용할 수 있습니다.
- 기존 파일을 덮어쓰기 전에 그래픽 저장 기능이 프롬프트됩니다.
- 디버그 샘플러 및 디버그 포스트 프로세서가 추가되었습니다.
- 계산기 및 SamplingStatCalculator의 메서드 이름 수정
- 리스너 문서를 정리했습니다.
버전 2.3
2.3RC4 이후 수정
버그 수정
- SampleResultConverter의 NPE 수정 - XStream PrettyPrintWriter가 null을 처리할 수 없음
- Java HTTP 샘플러에 null ResponseMessage가 표시되면 HTTP 헤더로 교체하십시오.
- 버그 43332 - 2.3RC4가 TestBean 기반 Guis를 지우지 않음
- 버그 42948 - Java 1.6의 프록시 GUI 테이블 필드 문제
- 깨진 jmeter-server 스크립트 수정
- 버그 43364 - If Controller를 2.3RC3 이전 동작으로 되돌리는 옵션
- 버그 43449 - 통계 원격 모드가 대기 시간을 처리하지 않음
- 버그 43450 (부분 수정) - SampleCount 및 ErrorCount를 파일에 저장/복원할 수 있습니다.
개량
- XPath 추출기에 nameSpace 옵션 추가
- JDBC 샘플러에 NULL 매개변수 옵션 추가
- 기능에 Rhino 및 BeanShell에 대한 문서 링크를 추가합니다. 변수와 속성을 명확히
- 포착되지 않은 예외가 기록되었는지 확인
- 로컬에서 찾을 수 없는 경우 JMeter bin 디렉토리에서 user.properties 및 system.properties를 찾습니다.
2.3RC3 이후 수정
- Summariser의 수정된 NPE(2.3RC3에서 도입된 버그)
- 프록시 포트 설정 수정(2.3RC3에서 도입된 버그)
- 헤드리스 호스트에서 비 GUI 실행 시 오류 수정(2.3RC3에서 도입된 버그)
- 버그 43054 - SSLManager로 인해 스트레스 테스트가 포화되고 충돌이 발생합니다(2.3RC3에서 도입된 버그).
- 포트 필드의 HTTP 요청 기본값 사용을 명확히 했습니다.
- 버그 43006 - icon.properties 파일을 찾을 수 없는 경우 NPE
- 버그 42918 - 크기 어설션은 이제 빈 응답을 길이가 0인 것으로 처리합니다.
- 버그 43007 - 모든 스레드 그룹이 시작되기 전에 테스트가 종료됩니다.
- 302에 Location 헤더가 없는 경우 HTTPSampler2에서 가능한 NPE를 수정합니다.
- 버그 42919 - CSV 출력에서 실패 메시지가 비어 있음 [이제 공백이 아닌 첫 번째 메시지를 기록함]
- JMeter PDF 확장에 대한 링크 추가
- Content-Type 구문 분석에서 인용 문자 집합 허용
- 버그 39792 - ClientJMeter 동기화 필요
- 버그 43122 - 바로 가기 키를 사용할 때 GUI 변경 사항이 항상 선택되지 않음(2.3RC3에서 도입된 버그)
- 버그 42947 - 바로 가기 키를 사용할 때 TestBeanGUI 변경 사항이 선택되지 않음
- serializer.jar 추가(xalan 2.7.0 업데이트에 필요)
- 버그 38687 - 모듈 컨트롤러가 비 GUI 모드에서 작동하지 않음
2.3RC3 이후 개선 사항
- CSV 데이터 세트에 스레드 중지 옵션 추가
- commons-httpclient를 3.1로 업데이트했습니다.
- 버그 28715 - 변수 쿠키 값 허용(CookieManager.allow_variable_cookies=false를 비활성화로 설정)
- 버그 40873 - JMS 지점 간 비영구 전달 옵션 추가
- 버그 43283 - 존재하지 않는 경우 저장 작업이 .jmx를 추가합니다. 다른 이름으로 저장 시 기존 파일 확인
- 다른 이름으로 모두 저장에서는 Ctrl + A 키가 작동하지 않습니다. Control + Shift + S 로 변경됨
- 버그 40991 - 어설션이 헤더를 확인하도록 허용
버전 2.3RC3
알려진 문제/제한 사항:
JMeter 원격 서버는 여러 동시 테스트를 지원하지 않습니다. 각 원격 테스트는 별도의 서버에서 실행해야 합니다. 그렇지 않으면 StandardJMeterEngine의 ConcurrentModification 예외와 같이 임의의 예외로 인해 테스트가 실패할 수 있습니다. 버그 43168 을 참조하십시오 .
기본 HTTP 요청(HTTPClient 아님) 샘플러는 프록시를 통한 HTTPS 연결에 대해 작동하지 않을 수 있습니다. 이것은 Java 버그로 인한 것 같습니다( 버그 39337 참조) . 문제를 방지하려면 최신 버전의 Java를 시도하거나 HTTP 요청 샘플러의 HTTPClient 버전으로 전환하십시오.
트랜잭션 컨트롤러 상위 모드는 중첩된 트랜잭션 컨트롤러를 지원하지 않습니다. 그렇게 하면 TestCompiler에서 Null 포인터 예외가 발생할 수 있습니다.
스레드 활성 수는 원격 테스트를 실행할 때 CSV 및 XML 파일에서 항상 0입니다.
file_format.testlog=2.1 속성은 2.2와 동일하게 처리됩니다. 그러나 JMeter는 3가지 테스트 계획 버전을 존중합니다.
버그 22510 - JMeter는 항상 키 저장소의 첫 번째 항목을 사용합니다.
경로 이름에 공백이 포함된 디렉토리에 JMeter가 설치된 경우 원격 모드가 작동하지 않습니다.
BeanShell 테스트 요소가 메모리를 누출합니다. 테스트 요소에 스크립트를 포함하는 대신 파일을 사용하여 이를 줄일 수 있습니다.
변수와 함수는 클라이언트-서버(원격) 모드의 리스너에서 작동하지 않으므로 클라이언트-서버 모드에서 로그 파일의 이름을 지정하는 데 사용할 수 없습니다.
CSV Dataset 변수는 설정 처리가 완료된 후 정의되므로 JDBC Config 등의 다른 설정 항목에는 사용할 수 없습니다. ( 버그 40394 참조 )
변경 사항 요약(자세한 내용은 아래 참조)
주요 개선 사항은 다음과 같습니다.
- 이제 구문 분석에 사용되는 Htmlparser 2.0
- HTTP 인증은 이제 도메인 및 영역을 지원합니다.
- HttpClient 옵션은 httpclient.parameters 파일을 통해 지정할 수 있습니다.
- HttpClient는 이제 SSL 인증서에 대해 Java Http와 동일하게 작동합니다.
- HTTP 샘플러의 로컬 테스트를 허용하는 HTTP 미러 서버
- HTTP 프록시는 XML-RPC 기록 및 기타 프록시 개선 사항을 지원합니다.
- __V() 함수는 중첩 변수 참조를 지원합니다.
- LDAP Ext 샘플러는 선택적으로 결과 세트를 구문 분석하고 보안 모드를 지원합니다.
- FTP 샘플러는 Ascii/Binary 모드 및 업로드를 지원합니다.
- 트랜잭션 컨트롤러는 이제 선택적으로 하위 결과가 있는 샘플을 생성합니다.
- HTTPS 세션 컨텍스트는 이제 공유가 아니라 스레드 단위입니다. 이것은 여러 사용자의 더 나은 에뮬레이션을 제공합니다
- BeanShell 요소는 이제 ThreadListener 및 TestListener 인터페이스를 지원합니다.
- 실패한 샘플을 더 잘 구별하기 위해 Tree View Listener 및 다른 곳에서 컬러 아이콘.
주요 버그 수정 사항은 다음과 같습니다.
- HTTPS(SSL) 처리가 훨씬 개선됨
- 다양한 원격 모드 버그 수정
- Control + C 및 Control + V 가 이제 테스트 트리에서 작동합니다.
- 이제 CSV 로그 출력에서 대기 시간 및 인코딩 사용 가능
- 테스트 요소는 더 이상 이전 내용으로 기본 설정되지 않습니다. 언어를 변경할 때 테스트 요소가 더 이상 지워지지 않습니다.
호환되지 않는 변경 사항(사용법):
NB javax.net.ssl 속성은 jmeter.properties에서 system.properties로 이동되었으며 jmeter.properties에 정의된 경우 더 이상 작동하지 않습니다.
새로운 배열은 임의의 시스템 속성을 정의할 수 있으므로 보다 유연합니다.
SSL 세션 컨텍스트는 이제 공유되지 않고 스레드별로 생성됩니다. 이렇게 하면 HTTPS 테스트에 대해 보다 현실적인 부하가 생성됩니다. 변경으로 인해 SSL 스레드가 많은 테스트 속도가 느려질 수 있습니다. JMeter 속성을 설정하여 원래 동작을 활성화할 수 있습니다.
https.sessioncontext.shared=true
LDAP 확장 샘플러는 이제 스레드 바인딩 및 단일 바인딩 테스트에 동일한 패널을 사용합니다. 즉, 단일 바인딩 테스트를 사용하는 모든 테스트는 사용자 이름과 암호를 설정하도록 업데이트해야 합니다.
버그 41140 : JMeterThread 동작이 변경되어 PostProcessor가 이전과 같이 역순이 아닌 정방향(테스트 계획에 표시됨)으로 실행됩니다. 다음 JMeter 속성을 설정하여 원래 동작을 복원할 수 있습니다.
jmeterthread.reversePostProcessors=true
HTTP Authorization Manager에는 이제 도메인 및 영역에 대한 추가 열이 있으므로 사용자 이름에 '\' 및 '@'를 사용하여 도메인과 영역을 구분하는 임시 해결 방법이 제거되었습니다.
Control + Z 는 더 이상 Remote Start All에 사용되지 않습니다. 이제 Control + Shift + R 을 사용합니다.
HttpClient는 이제 선점 인증을 사용합니다. 이것은 다음을 설정하여 변경할 수 있습니다.
jmeter.properties: httpclient.parameters.file=httpclient.parameters httpclient.parameters: http.authentication.preemptive$Boolean=false
HTTP 요청 기본값의 포트 필드가 80으로 설정된 경우 https 샘플러에 대해 더 이상 무시되지 않습니다.
호환되지 않는 변경 사항(개발):
NB clear() 메소드는 Clearable, JMeterGUIComponent 및 TestElement 인터페이스에서 정의되었습니다. 메소드는 다른 용도로 사용되므로 두 가지 이름이 변경되었습니다. Clearable 메소드는 이제 clearData()이고 JMeterGUIComponent 메소드는 이제 clearGui()입니다. 타사 애드온을 다시 빌드해야 할 수 있습니다 .
Calculator 및 SamplingStatCalculator 클래스는 더 이상 데이터 형식을 제공하지 않습니다. 이제 jorphan.gui 렌더러 클래스를 사용하여 형식을 지정해야 합니다.
더 이상 사용되지 않는 JMeterUtils.split() 메소드 제거 - 대신 JOrphanUtils 버전을 사용하십시오.
SaveGraphicsService에서 saveUsingJPEGEncoder() 메서드를 제거했습니다. 지금까지 사용되지 않았으며 JMeter에서 유일한 Sun 전용 클래스를 사용했습니다.
새로운 기능/개선 사항:
- HTTP Authorization Manager에 도메인 및 영역 지원 추가
- HttpClient는 이제 유효하지 않은 인증서 등에 대해 JDK http 샘플러와 동일하게 작동합니다.
- HttpClient 매개변수를 정의할 수 있도록 httpclient.parameters.file을 추가했습니다.
- 버그 33964 - 이름/유형이 생략된 경우 Http 요청이 전체 게시물 본문으로 파일을 보낼 수 있습니다.
- 버그 41705 - POST 요청에 대한 HTTP 샘플러에 콘텐츠 인코딩 옵션 추가
- 버그 40933 , 버그 40945 - 포함된 리소스 URL을 검색할 때 선택적 RE 일치
- 버그 27780 - (패치 19936) 파일을 업로드하지 않고 multipart/form-data HTTP 요청 생성
- 버그 42098 - HTTP GET의 매개변수 값에 지정된 인코딩 사용
- 버그 42506 - JMeter 스레드가 이제 독립 SSL 세션을 사용합니다.
- 버그 41707 - HTTP 프록시 XML-RPC 지원
- 버그 41880 - HTTP 프록시 서버에 콘텐츠 유형 필터링 추가
- 버그 41876 - HTTP 프록시가 생성하는 것을 제어하기 위해 더 많은 옵션을 추가합니다.
- 버그 42158 - HTTP 프록시 서버에서 multipart/form-data 요청에 대한 지원 개선
- 버그 42173 - HTTP 프록시가 요청의 인코딩을 처리하도록 하고 매개변수 값의 디코딩을 해제합니다.
- 버그 42674 - 지정되지 않은 경우 선점 HTTP 인증이 기본값 입니다.
- HTTP 샘플러에서 "파일" 프로토콜 지원
- 이제 새 샘플러를 만들 때 Http 자동 리디렉션이 기본적으로 활성화됩니다.
- 버그 40103 - 다양한 LDAP 개선 사항
- 버그 40369 - LDAP: 샘플러의 안정적인 검색 결과
- 버그 40381 - LDAP: 더 많은 설명 문자열
- BeanShell 포스트 프로세서는 더 이상 길이가 0인 결과 데이터가 있는 샘플을 무시하지 않습니다.
- 시작 시 BeanShell 스크립트를 실행하기 위해 beanshell.init.file 속성을 추가했습니다.
- 버그 39864 - 현재 또는 bin 디렉토리에서 BeanShell 초기화 파일을 찾았습니다.
- BeanShell 요소는 이제 ThreadListener 및 TestListener 인터페이스를 지원합니다.
- BSF 샘플러는 스크립트에 추가 변수를 전달합니다.
- WebService(SOAP) 샘플러에 대한 시간 초과 추가됨
- 버그 40825 - JDBC 준비된 명령문 지원 추가
- JDBC 샘플러 확장: 커밋, 롤백, 자동 커밋
- 버그 41457 - 연결을 재사용하지 않도록 TCP 샘플러 옵션 추가
- 버그 41522 - 샘플 결과에 JUnit 샘플러 이름 사용
- 버그 42223 - 이제 FTP 샘플러가 파일을 업로드할 수 있습니다.
- 버그 40804 - 카운터 기본값을 max = Long.MAX_VALUE로 변경
- JMeter를 시작할 때 user.dir을 재정의하려면 jmeter.home 속성(있는 경우)을 사용하십시오.
- jmeter 로그 파일을 쉽게 변경하는 새로운 -j 옵션
- HTTP 미러 서버 워크벤치 요소
- 버그 41253 - NodeList가 아닌 XPath 표현식과 함께 작동하도록 XPathExtractor를 확장합니다.
- 버그 42088 - 부울에 대한 XPath 어설션 추가
- 중첩 변수 이름을 해결하기 위해 __V 변수 함수를 추가했습니다.
- 버그 40369 - 응답 어설션과 같음
- 버그 41704 - CSV DataSet에 대해 charset 인코딩을 지정할 수 있습니다.
- 버그 41259 - 모든 테스트 요소에 주석 필드가 추가됨
- 요약 보고서에 표준 편차 추가
- 버그 41873 - AssertionResult에 이름을 추가하고 ViewResultsFullVisualizer에 AssertionResult를 표시합니다.
- 버그 36755 - XML 테스트 파일을 UTF-8 인코딩으로 저장
- Tree View Listener에 ISO 날짜-시간 형식 사용(이전에는 연도가 표시되지 않음)
- CSV 파일 로드 개선: 가능하면 헤더를 사용하여 형식을 결정합니다. 밀리초가 아닌 경우 타임스탬프 형식 추측
- 버그 41913 - TransactionController는 이제 샘플을 트랜잭션의 하위 샘플로 생성합니다.
- 버그 42582 - 트리 보기 수신기에서 JSON 예쁜 인쇄
- 버그 40099 - ForEachController에서 개체 변수 사용 활성화
- 버그 39693 - 결과 테이블 보기에서 확인란 대신 아이콘을 사용합니다.
- 버그 39717 - 결과 트리에서 아이콘 사용
- 버그 42247 - HCI 개선
- 사용자가 닫기 대화에서 취소할 수 있도록 허용
비기능 개선:
- 이제 Functor 호출을 단위 테스트할 수 있습니다.
- com.sun.net 클래스를 javax.net으로 교체
- 외부 jar 정의를 build.properties 파일로 추출
- 오류가 더 빨리 감지되도록 빌드 클래스 경로에 특정 jar 이름을 사용하십시오.
- ORO 호출을 정리했습니다. 이제 하나의 캐시, oro.patterncache.size로 지정된 크기, 기본값 1000
- 버그 42326 - .jmx 파일의 요소 순서 변경
외부 jar 업데이트:
- HTML 파서 2.0-20060923
- xstream 1.2.1/xpp3_min-1.1.3.4.O
- 바틱 1.6
- BSF 2.4.0
- 커먼즈 컬렉션 3.2
- commons-httpclient-3.1-rc1
- 커먼즈-jexl 1.1
- commons-lang-2.3(추가됨)
- JUnit 3.8.2
- 속도 1.5
- commons-io 1.3.1(추가됨)
버그 수정:
- 버그 39773 - 이제 NTLM에 로컬 호스트 이름이 필요함 - 다른 호출 수정
- 버그 40438 - "httpclient.localaddress"를 설정해도 효과가 없습니다.
- 버그 40419 - 중국어 메시지 번역 수정
- 버그 39861 - 오타 수정
- 버그 40562 - 리디렉션이 더 이상 RE 포스트 프로세서를 호출하지 않음
- 버그 40451 - 샘플러에서 설정하지 않은 경우 레이블을 설정합니다.
- 원격 모드에서 CounterConfig.java의 NPE 수정
- 버그 40791 - 요약 보고서에서 사용하는 계산기
- 버그 40772 - CSV 로그 파일에서 누락된 필드를 올바르게 구문 분석합니다.
- 버그 40773 - XML 로그 파일 타임스탬프가 올바르게 구문 분석되지 않음
- 버그 41029 - JMeter -t가 입력 JMX 파일을 닫지 못함
- 버그 40954 - 분산 테스트의 통계 모드에 잘못된 결과가 표시됨
- null을 반환하는 샘플러를 사용할 때 ClassCast 예외 수정(예: TestAction)
- 버그 41140 - 포스트 프로세서가 역순으로 실행됩니다.
- 버그 41277 - CSV 출력에 대기 시간 및 인코딩 추가
- 버그 41414 - Mac OS X에서 -jar 클래스 경로에 추가 항목을 추가할 수 있음
- 원격 테스트에서 스레드 수를 저장할 때 NPE 수정
- 버그 34261 - HtmlParser의 NPE(속성 누락 허용)
- 버그 40100 - 닫기를 호출하기 전에 FileServer 유형을 확인하십시오.
- 버그 39887 - jmeter.util.SSLManager: 키 저장소 오류 메시지를 로드할 수 없습니다.
- 버그 41543 - 웹 서버가 "500 내부 서버 오류"를 반환하고 콘텐츠 길이가 0인 경우 예외
- 버그 41416 - SOAP-RPC 샘플러에서 텍스트 상자 입력에 청크 입력을 사용하지 마십시오.
- 버그 39827 - 파일의 SOAP 샘플러 콘텐츠 길이
- Clear.java에서 클래스 캐스트 예외 수정
- 버그 40383 - 이미 설정된 경우 콘텐츠 유형을 설정하지 마십시오.
- 테스트 계획이 아직 저장되지 않은 경우 Mailer Visualiser 테스트 버튼이 작동합니다.
- 버그 36959 - 바로 가기 "ctrl c" 및 "ctrl v"가 트리 요소에서 작동하지 않음
- 버그 40696 - STYLE URL() 속성에서 포함된 리소스 검색
- 버그 41568 - '카운터'를 사용할 때 원격으로 테스트를 실행할 때 발생하는 문제
- 타임스탬프가 항상 종료 타임스탬프라고 가정한 다양한 클래스를 수정했습니다.
- 샘플링 통계 계산기
- JTL데이터
- 실행 샘플
- 버그 40325 - WebServiceSampler에 대한 proxyuser 및 proxypassword 지정 허용
- NTCredentials를 사용하도록 HttpClient 프록시 정의를 변경하십시오. 이에 대한 http.proxyDomain 속성을 추가했습니다.
- 버그 40371 - 응답 어설션 "테스트할 패턴" 스크롤 막대 문제
- 버그 40589 - 포함된 URL의 XML 엔터티를 이스케이프 해제
- 버그 41902 - responseCode = -1일 때 HTTPSampler의 NPE
- 버그 41903 - ViewResultsFullVisualizer: 복사하여 붙여넣을 때 상태 열이 좋지 않게 보입니다.
- 버그 41837 - 프록시의 매개변수 값 손상
- 버그 41905 - Java 1.6에서 헤더 관리자 필드를 잘라내기/붙여넣기/선택할 수 없음
- 버그 41928 - HTTP 요청 샘플러에서 보낸 모든 요청 헤더가 샘플 결과에 표시되도록 합니다.
- 버그 41944 - 하위 결과가 ResultSaver에서 재귀적으로 처리되지 않음
- 버그 42022 - HTTPSampler는 동일한 이름의 여러 헤더를 허용하지 않습니다.
- 버그 42019 - 하위 결과가 있는 리디렉션된 HTTP 요청에 콘텐츠 유형이 저장되지 않음
- 버그 42057 - 메서드가 null인 경우 연결이 null일 수 있음
- 버그 41518 - JMeter가 POST 요청에 대한 HTTP 헤더 콘텐츠 유형을 변경합니다.
- 버그 42156 - HTTPRequest HTTPClient가 POST에서 매개변수 값을 잘못 urlencodes
- 버그 42184 - 하위 샘플이 추가될 때 샘플에 추가되지 않은 하위 샘플의 바이트 수
- 버그 42185 - HTTP 샘플러가 리디렉션을 따르고 이미지를 다운로드하도록 설정된 경우 이미지가 여러 번 다운로드됩니다.
- 버그 39808 - 잘못된 리디렉션으로 인해 잘못된 샘플 시간이 발생 함
- 버그 42267 - 프록시 기록에서 동시 GUI 업데이트 실패
- 버그 30120 - 새 단순 컨트롤러가 자식으로 추가되면 단순 컨트롤러의 이름이 재설정됩니다.
- 버그 41078 - 테스트 계획의 이름 변경 시 병합 결과
- 버그 40077 - 새 요소를 생성하면 기존 요소의 값이 복사됩니다.
- 버그 42325 - LogicController에 대한 "clear" 메소드 구현
- 버그 25441 - TestPlan 변경 사항이 때때로 잘못 감지됨(isDirty)
- 버그 39734 - 복사/붙여넣기 작업 후 공유되는 리스너
- 버그 40851 - 반복이 0인 루프 컨트롤러, 반복 필드 평가 중지
- 버그 24684 - jmeter 경로에 공백이 있는 경우 원격 시작 문제
- CSV 데이터 파일을 로드할 때 리스너 구성 사용
- 함수 메서드 setParameters()를 동기화해야 합니다.
- "="를 요구하도록 CLI 긴 선택적 인수 수정(짧은 옵션의 경우)
- Httpclient(http 및 https 모두)에서 제대로 작동하도록 SlowSocket 수정
- 버그 41612 - If 컨트롤러에 중첩된 루프가 비정상적으로 작동함
- 버그 42232 - 언어를 변경하면 UDV 내용이 지워 집니다.
- Jexl 함수는 변수를 허용하지 않습니다
버전 2.2
호환되지 않는 변경 사항:
타임 스탬프는 이제 샘플러 시작 시간으로 설정됩니다(종료). 이전 동작으로 되돌리려면 sampleresult.timestamp.start 속성 을 false로 변경하십시오(또는 주석 처리).
JMX 출력 형식이 단순화되었으며 파일이 이전 버전과 호환되지 않습니다.
JMeter.BAT 파일은 더 이상 디렉토리를 JMeter 홈으로 변경하지 않지만 현재 작업 디렉토리에서 실행됩니다. jmeter-n.bat 및 jmeter-t.bat 파일은 입력 파일이 포함된 디렉토리로 변경됩니다.
리스너는 이제 변수 이름을 사용할 수 있도록 약간 나중에 시작됩니다. 이로 인해 몇 가지 문제가 발생할 수 있습니다. 그렇다면 jmeter.properties에서 다음을 정의하십시오.
jmeterengine.startlistenerslater=false
GUI는 이제 테스트 계획을 로드할 때 기본적으로 트리를 확장합니다. JMeter 속성 onload.expandtree=false 를 설정하여 비활성화할 수 있습니다.
알려진 문제:
- 포스트 프로세서는 역순으로 실행됩니다( 버그 41140 참조 ).
- 모듈 컨트롤러가 비 GUI 모드에서 작동하지 않음
- 집계 보고서 및 일부 다른 리스너는 테스트가 진행됨에 따라 점점 더 많은 양의 메모리를 사용합니다.
- 기본이 아닌 인코딩을 항상 올바르게 처리하지는 않습니다.
- 설치 경로의 공백으로 인해 클라이언트-서버 모드에 문제가 발생함
- 언어 변경이 모든 테스트 요소에 적용되는 것은 아닙니다.
- SamplingStatCalculator는 계산을 위해 모든 샘플 목록을 유지합니다. 이것은 장기 실행 테스트에서 메모리 고갈을 유발할 수 있습니다.
- 만료되었거나 로컬에 설치되지 않은 서버 인증서를 제대로 처리하지 않습니다.
새로운 기능:
- 보고 기능
- XPath 추출기 후처리기. 단일 및 다중 일치를 처리합니다.
- 더 간단한 JMX 파일 형식(2.2)
- BeanshellSampler 코드는 ResponseData를 직접 업데이트할 수 있습니다.
- 버그 37490 - Duration Assertion에서 UDV를 지연으로 허용
- HttpClient에 대한 느린 연결 에뮬레이션
- 기본적으로 어설션 오류 및 예외가 오류 메시지에 추가되지 않도록 JUnitSampler가 향상되었습니다. 사용자는 샘플러에서 명시적으로 추가를 확인해야 합니다.
- CSVDataSet과 함께 작동하는 방식을 설명하기 위해 웹 서비스 샘플러에 대한 문서가 향상되었습니다.
- 쉼표 이스케이프를 설명하기 위해 자바 스크립트 기능에 대한 문서가 향상되었습니다.
- CSV 데이터 세트 파일 이름을 절대 이름으로 허용
- 보고 트리 컴파일러 오류 개선
- 기본값이 비어 있는 경우 Regex Extractor 변수를 재설정하지 마십시오.
- includecontroller.prefix 속성 추가됨
- 정규식 추출기는 그룹 수를 설정합니다.
- 이제 오른쪽 창뿐만 아니라 전체 화면을 이미지로 저장할 수 있습니다.
- 버그 38901 - SOAP 샘플러에 선택적 SOAPAction 헤더 추가
- 새로운 BeanShell 테스트 요소: Timer, PreProcessor, PostProcessor, Listener
- __split() 함수는 이제 다음 변수를 지우므로 ForEach 컨트롤러와 함께 사용할 수 있습니다.
- 버그 38682 - JDBC 샘플러에 CallableStatement 기능 추가
- RMI/서버 포트를 쉽게 변경할 수 있습니다.
- jmeter.save.saveservice.xml_pi 속성을 추가하여 JTL 파일에 선택적 xml 처리 명령을 제공합니다.
- 샘플 로그 파일(XML 및 CSV)에 저장할 수 있는 항목에 바이트 및 URL 추가
- Post-Processor "Save Responses to a File"은 이제 샘플과 함께 생성된 파일 이름을 저장하고 파일 이름은 샘플 로그 파일에 포함될 수 있습니다.
- 모든 디렉토리에서 작동하도록 jmeter.bat DOS 스크립트 변경
- 명령줄에서 nonProxyHosts를 정의하는 새로운 -N 옵션
- 입력 파일에서 시스템 속성을 정의하는 새로운 -S 옵션
- 버그 26136 - 로컬 주소 구성 허용
- 테스트 계획을 로드할 때 기본적으로 트리 확장 - onload.expandtree=false 속성을 설정하여 비활성화할 수 있습니다.
- 버그 11843 - URL Rewriter는 이제 세션 ID를 캐시할 수 있습니다.
- 카운터 전처리기는 이제 형식이 지정된 숫자를 지원합니다.
- HEAD PUT OPTIONS TRACE 및 DELETE 메서드에 대한 지원 추가
- 기본 HTTP 구현 변경 허용
- 선택적으로 활성 스레드 수(그룹 및 전체)를 결과 파일에 저장
- 이제 리스너 파일 이름에서 변수/함수를 사용할 수 있습니다.
- 새로운 __time() 함수; START.MS/START.YMD/START.HMS 속성 및 변수 정의
- 트리 및 테이블 보기에 스레드 이름 추가
- 디버그 기능 추가: 어떤 클래스, 디버그 켜기, 디버그 끄기
- 비캐싱 계산기 - Table Visualiser에서 메모리 사용 공간을 줄이는 데 사용
- 요약 보고서 - 집계 보고서와 유사하지만 더 적은 메모리를 사용합니다.
- 버그 39580 - CSV 데이터 세트에 대한 재활용 옵션
- 버그 37652 - Ajp Tomcat 프로토콜 지원
- 버그 39626 - 파일에서 SOAP/XML-RPC 요청 로드
- 버그 39652 - AxisGraph에서 레이블 자르기 허용
- htmlparser 1.6 사용 허용
- 버그 39656 - 제공된 경우 항상 SOAP 작업을 사용합니다.
- user.properties 파일의 속성을 자동으로 포함
- __jexl() 함수 추가 - Commons JEXL 표현식 평가
- 선택적으로 user.properties에서 JMeter 속성을 로드하고 system.properties에서 시스템 속성을 로드합니다.
- 버그 39707 - URL에 대한 정규식 일치 허용
- Table Visualiser에 시작 시간 추가
- HTTP 샘플러는 이제 모든 필수 미디어 유형에 대해 포함된 리소스를 추출할 수 있습니다.
버그 수정:
- 모듈 컨트롤러에서 모듈을 선택하지 않은 경우 NPE 수정
- ResponseData가 없을 때 XStream의 NPE 수정
- Java 1.5 및 x-jars 없이 실행할 때 ?xml 접두사 제거
- 버그 37117 - setProperty() 함수는 ""를 반환해야 합니다. 원래 설정의 선택적 반환 추가
- CSV 출력 시간 형식 수정
- 버그 37140 - RegexFunction에서 인코딩을 더 잘 처리합니다.
- 첫 번째 쿠키뿐만 아니라 모든 쿠키를 로드합니다. 클래스 캐스트 예외 수정
- 기본 쿠키 경로 이름 수정(페이지 이름 제거)
- 고정 결과 코드 속성 이름
- 버그 36898 - RegexExtractor에 인코딩 적용
- 하위 결과, 어설션, 대기 시간, samplerData, responseHeaders, requestHeaders 및 인코딩을 저장하기 위한 속성 추가
- 버그 37705 - 이제 실행이 중지된 후 동기화 타이머가 정상적으로 작동합니다.
- 버그 37716 - 이제 프록시 요청이 파일 게시를 올바르게 처리합니다.
- HttpClient 샘플러는 이제 대기 시간을 절약합니다.
- 테스트 계획에서 JavaScript 기능을 사용할 때 NPE 수정
- htmlparser에서 기본 Href 구문 분석 수정
- 버그 38256 - 경로가 없는 쿠키 처리
- 버그 38391 - 타이머 지연을 누적할 때 long 사용
- 버그 38554 - 이제 임의 함수가 긴 숫자를 사용합니다.
- 버그 35224 - LDAP 샘플러에 대한 중복 속성 허용
- 버그 38693 - 이제 웹 서비스 샘플러에서 https 프로토콜을 사용할 수 있습니다.
- 버그 38646 - 이제 정규식 추출기가 일치 실패 시 이전 변수를 지웁니다.
- 버그 38640 - WebService 샘플러 풀링 수정
- 버그 38474 - HTML 링크 파서가 프레임 링크를 따르지 않음
- 버그 36430 - 카운터가 이제 범위를 늘리기 위해 int 대신 long을 사용합니다.
- 버그 38302 - XPath 기능 수정
- 버그 38748 - JDBC DataSourceElement가 원격 테스트에서 실패함
- 버그 38902 - 응답 코드에 대해 불필요하게 -1이 반환되는 경우가 있습니다.
- 버그 38840 - XML 어설션을 스레드로부터 안전하게 만듭니다.
- 버그 38681 - 이제 포함 컨트롤러가 비 GUI 모드에서 작동합니다.
- TCPClientImpl에 write(OS,IS) 구현 추가
- 샘플 결과 변환기는 응답 코드를 "rc"로 저장합니다. 이전에는 "rs"로 저장했지만 "rc"로 읽습니다. 이제 "rc"로도 읽힙니다. XSL 스타일시트는 이제 "rc" 또는 "rs"도 허용합니다.
- 각 카운터 인스턴스가 독립적이도록 카운터 기능 수정(이전에는 함수 인스턴스 간에 사용자별 카운터가 공유됨)
- 작동하도록 TestBean 예제 수정
- 배경 이미지가 있는 본문 태그를 건너뛰지 않도록 JTidy 파서 수정
- HtmlParser 파서를 수정하여 모든 배경 이미지를 포착합니다.
- 버그 39252 XML 데이터에서 SoapSampler 샘플 결과 설정
- 버그 38694 - WebServiceSampler가 데이터 인코딩을 올바르게 설정하지 않음
- Result Collector는 이제 리스너가 읽은 입력 파일을 닫습니다.
- 버그 25505 - "HTTPS 호스트 이름이 잘못됨: 'localhost'여야 함"과 함께 첫 번째 HTTP 샘플링이 실패합니다.
- 버그 25236 - 어설션 결과 수신기에서 이중 스크롤 막대 제거
- 버그 38234 - 그래프 수신기를 0으로 나누는 문제
- 버그 38824 - 상태 무시의 동작을 명확히 함
- 버그 38250 - jmeter.properties "언어"가 이제 zh_CN 및 zh_TW 등에 대해 국가 접미사를 지원합니다.
- jmeter.properties 파일은 이제 읽은 후 닫힙니다.
- 버그 39533 - StatCalculator가 잘못된 항목을 추가했습니다.
- 버그 39599 - ConcurrentModificationException
- HTTPSampler2는 이제 자동 및 팔로우 리디렉션을 올바르게 처리합니다.
- 버그 29481 - 샘플 결과를 다시 로드하여 하위 결과가 두 번 계산되지 않도록 수정
- 버그 30267 - 자동 리디렉션을 올바르게 처리합니다.
- 버그 39677 - JMETER_BIN 변수에 공백 허용
- Commons HttpClient 쿠키 구문 분석 및 관리를 사용합니다. 쿠키 처리와 관련된 다양한 문제를 수정합니다.
- 버그 39773 - NTCredentials에는 호스트 이름이 필요합니다.
기타 변경 사항
- HTTPClient 3.0으로 업데이트됨(2.0에서)
- Commons Collections 3.1로 업데이트됨
- 트리 보기에서 요청 데이터 형식 개선
- 확장된 사용자 문서
- 모든 항아리에 MANIFEST, NOTICE 및 LICENSE를 추가했습니다.
- 파서를 대체할 수 있도록 htmlparser 인터페이스를 별도의 jarfile로 추출
- 더 이상 필요하지 않거나 작동하는 SQL 구성 GUI를 제거했습니다.
- HTTPSampler는 더 이상 페이지를 찾을 수 없음(404)에 대한 경고를 기록하지 않습니다.
- 이제 StringFromFile을 __StringFromFile(및 _StringFromFile)로 호출할 수 있습니다.
- Commons Logging 1.1로 업데이트됨
버전 2.1.1
새로운 기능:
- 새로운 Include Controller를 통해 테스트 계획이 외부 jmx 파일을 참조할 수 있습니다.
- JUnit 테스트 클래스를 사용하기 위해 새로운 JUnitSampler가 추가되었습니다.
- 새로운 집계 그래프 수신기는 집계 통계를 그래프로 표시할 수 있습니다.
- 속성 user.classpath와 테스트 계획 요소를 사용하여 추가 클래스 경로 항목을 제공할 수 있습니다.
버그 수정:
- 2.0 테스트 계획에서 올바르게 채워진 AccessLog 샘플러 및 JDBC 테스트 요소
- BSF 샘플러는 이제 저장된 테스트 계획에서 파일 이름과 매개변수를 채웁니다.
- 버그 36500 - WebServiceSampler에서 누락된 데이터를 보다 적절하게 처리
- 버그 35546 - 마우스 오른쪽 버튼 클릭 메뉴에 병합 추가
- 버그 36642 - Summariser가 2.1에서 작동을 멈췄습니다.
- 버그 36618 - CSV 헤더 행이 저장된 데이터와 일치하지 않음
- JMeter는 이제 JVM 1.3에서 실행되어야 합니다(그러나 1.3에서는 빌드되지 않음).
버전 2.1
새로운 기능:
- 새로운 테스트 스크립트 파일 형식 - 더 작고, 더 작고, 더 읽기 쉽습니다.
- 새로운 샘플 결과 파일 형식 - 더 작고 컴팩트
- XSchema 어설션
- XML 트리 표시
- CSV 데이터세트 구성 항목
- 새 JDBC 연결 풀 구성 요소
- 동기화 타이머
- setProperty 함수
- 오류 발생 시 응답 데이터 저장
- Ant JMeter XSLT는 이제 선택적으로 실패한 응답을 표시하고 내부 링크가 있습니다.
- JavaScript 변수 이름 생략 허용
- 샘플러 이름에서 샘플 레이블을 설정하도록 다음 샘플러를 변경했습니다.
- 모든 테스트 요소는 파일에 그래픽 이미지로 저장할 수 있습니다.
- 버그 35026 - 프록시에 일치하는 RE 패턴 추가
- 버그 34739 - 일정한 처리량 타이머 향상
- 버그 25052 - 응답 인코딩을 사용하여 응답 어설션에서 비교 문자열 생성
- 새로운 옵션 아이콘
- 속성 파일을 통해 아이콘 정의 허용
- 2.1 형식 XML 테스트 출력을 위한 새로운 스타일시트
- 샘플러, 구성 요소 및 리스너를 PNG로 저장
- WSDL 처리에 대한 향상된 지원
- 주제 및 대기열 메시지를 위한 새로운 JMS 샘플러
- JMS 샘플러에 대한 방법
- 버그 35525 - 스페인어 현지화 추가됨
- 버그 30379 - server.rmi.port가 재정의되도록 허용
- 계산된 통계를 저장하도록 모니터 리스너를 개선했습니다.
- 함수 및 변수는 이제 테스트 계획의 최상위 수준에서 작동합니다.
버그 수정:
- 버그 34586 - XPath가 항상 /로 유지됨
- BeanShellInterpreter가 null 객체를 제대로 처리하지 못했습니다.
- 중국어 리소스 번들 이름 수정
- CSV 파일에 필요한 경우 필드 이름 저장
- XML 파일이 닫혀 있는지 확인
- 이제 TestBean 구성 요소에 대해 올바른 아이콘이 표시됩니다.
- 메뉴 생성 시 누락된 선택적 jar 허용
- HTTP의 경우와 마찬가지로 샘플러 이름에서 샘플 레이블을 설정하도록 샘플러를 변경했습니다.
- 불완전한 데이터가 제공될 때 NPE를 피하기 위해 다양한 샘플러 수정
- 초를 사용하도록 쿠키 관리자를 수정합니다. 디버그 추가
- 버그 35067 - -t 옵션을 사용할 때 파일 이름 설정
- 프록시에서 UDV로 TestElement.* 속성을 대체하지 마십시오.
- 버그 35065 - 파일 보호기에 이전 확장자를 저장하지 마십시오.
- 버그 25413 - 불필요하게 다시 시작 버튼을 활성화하지 마십시오.
- 버그 35059 - 런타임 컨트롤러 작동이 중지됨
- LDAP 확장 샘플러에 의해 생성된 남은 연결 지우기
- 버그 23248 - 모듈 컨트롤러가 저장과 다시 로드 사이의 내용을 기억하지 못했습니다.
- 중국어 로케일 수정
- 버그 29920 - 영어를 선택할 때 기본 속성이 선택되도록 필요한 경우 기본 로캘을 변경합니다.
- Tomcat 모니터 캡션에 대한 버그 수정
- 사용자 정의 변수와 함께 작동하도록 웹 서비스 샘플러를 수정했습니다.
- LDAP 구성 GUI 요소의 화면 테두리 수정
- 버그 31184 - 인코딩이 JDBC 샘플러에 지정되었는지 확인하십시오.
- TCP 샘플러 - 동일한 호스트:포트 세부 정보를 가진 소켓만 공유합니다. 매뉴얼을 수정하다
- JTidy 및 Html 파서에서 포함 태그에 대한 src 속성 추출
버전 2.0.3
새로운 기능:
- XPath 어설션 및 XPath 함수
- 스위치 컨트롤러
- ForEach 컨트롤러는 이제 그룹 집합을 반복할 수 있습니다.
- CSVRead 구분 기호 변경 허용(jmeter.properties 참조)
- 버그 33920 - 추가 속성 파일 허용
- 버그 33845 - 홈 디렉토리의 직접 재정의 허용
버그 수정:
- 정규식 추출기 중첩 상수가 올바른 위치에 배치되지 않음 버그 32395
- 지연이 정상적으로 작동하도록 필요한 경우 시작 시간을 지금으로 재설정합니다.
- 스케줄러에서 누락된 시작/종료 시간은 1970년이 아닌 현재로 간주됩니다.
- 버그 28661 - 수신기에 304 응답이 표시되지 않음
- DOS 스크립트는 이제 다른 디스크를 더 잘 처리합니다.
- 버그 32345 - HTTP Rewriter가 HTTP 요청 기본값으로 작동하지 않음
- 런타임 예외를 잡아서 한 수신기의 오류가 다른 수신기에 영향을 미치지 않도록 합니다.
- 버그 33467 - __threadNum()이 숫자를 잘못 추출했습니다.
- 버그 29186 , 33299 - 두 번째 인수에서 "-"의 CLI 구문 분석 수정
- CLI 구문 분석 버그 수정: -D arg1=arg2. 더 많은 시작 매개변수를 기록합니다.
- 양식 src= 및 링크 rel=stylesheet를 처리하도록 JTidy 및 HTMLParser 파서 수정
- JMeterThread는 이제 콘솔에 나타나는 오류를 jmeter.log에 기록합니다.
- WhileController 조건이 동적으로 확인되었는지 확인
- 버그 32790 은 If Controller 조건이 매번 재평가되는지 확인합니다.
- 버그 30266 - 프록시 녹음 응답을 표시하는 방법을 문서화합니다.
- 버그 33921 - 병합이 파일 이름을 변경하면 안 됩니다.
- 파일을 닫으면 이제 변경 사항을 저장할 수 있습니다.
- 버그 33559 - 런타임 컨트롤러 수정
기타 변경 사항:
- 변수 평가를 돕기 위해 JMeterThread는 "샘플링 시작됨"을 조금 더 일찍 설정합니다(jmeter.properties 참조).
- 버그 33796 - null/빈 값이 있는 쿠키 삭제
- JavaScript 함수에서 매개변수 수 확인 개선
- 스레드 그룹은 이제 영원히 대신 1 루프로 기본 설정됩니다.
- 모든 Beanshell 액세스는 이제 단일 클래스를 통해 이루어집니다. 런타임 시 BSH jar만 필요
- 버그 32464 - jmeter.bat의 직접 그리기 설정 문서화
- 버그 33919 - 카운터 필드 크기 증가
- 버그 32252 - ForEach가 카운터를 초기화하지 않았습니다.
버전 2.0.2
새로운 기능:
- 동안 컨트롤러
- BeanShell 초기화 스크립트
- 결과 보호기는 선택적으로 실패한 결과만 저장할 수 있습니다.
- HTML로 표시에는 프레임 및 이미지 등을 다운로드하지 않는 옵션이 있습니다.
- 이제 여러 트리 요소를 한 번에 활성화/비활성화/복사/붙여넣기할 수 있습니다.
- __split() 함수 추가
- 버그 28699 를 사용하면 Assertion이 실패한 응답(예: 404)을 성공한 것으로 간주할 수 있습니다.
- 버그 29075 Regex Extractor는 이제 http 응답 헤더와 본문에서 데이터를 추출할 수 있습니다.
- __log() 함수는 이제 stdout 및 stderr에 쓸 수 있습니다.
- 이제 URL 수정자가 쿼리 매개변수를 선택적으로 무시할 수 있습니다.
버그 수정:
- 컨트롤러가 첫 번째 잘못된 조건 이후에 작동하는 경우 버그 31390
- Regex GUI에서 헤더/본문 확인란을 추적 하지 못함 버그 29853
- HTML로 표시는 이제 프레임 및 상대 이미지를 처리합니다.
- 열기를 마우스 오른쪽 버튼으로 클릭하여 병합으로 대체
- 일부 드래그 앤 드롭 문제 수정
- 작동하도록 foreach 데모 예제를 수정했습니다.
- 버그 30741 SSL 암호 프롬프트가 이제 다시 작동 함
- StringFromFile은 이제 테스트가 끝나면 파일을 닫습니다. 이제 시작과 끝은 의도한 대로 선택 사항입니다.
- 버그 31342 SOAP 샘플러 헤더의 고정 텍스트
- 이제 프록시를 중지해야 제거할 수 있습니다. 버그 25145
- 링크 파서는 이제 BASE href 버그 25490 을 지원합니다.
- 버그 30917 Classfinder가 중복 이름을 무시합니다.
- 버그 22820 카운터 값 삭제 허용
- 버그 28230 포함된 리소스를 검색하는 HTTP 샘플러의 NPE 수정
- StopTest 처리 개선 더 많은 오류를 포착하고 기록하십시오.
- ForEach 컨트롤러는 첫 번째 변수가 정의되지 않은 경우 더 이상 샘플을 실행하지 않습니다.
- 원격 JDBC 실행의 버그 28663 NPE
- 버그 30110 stopTest 처리 중 교착 상태
- 버그 31696 스케줄러를 사용할 때 지속 시간이 올바르게 작동하지 않음
- JMeterContext는 이제 ThreadLocal을 사용합니다. 일부 잠재적인 NPE 오류를 수정해야 합니다.
버전 2.0.1
버그 수정 릴리스. 미정.
버전 2.0
- HTML 구문 분석이 개선되었습니다. 이제 3개의 파서를 선택할 수 있으며 이제 대부분의 포함된 요소를 감지하고 다운로드할 수 있습니다.
- 이제 JMeter 속성 HTTPSamper.delegateRedirects=true(기본값은 false)를 정의하여 리디렉션을 URLConnection에 위임할 수 있습니다.
- 샘플러 및 어설션 등에 대해 스레드 중지 및 테스트 중지 메소드 추가. 샘플러는 샘플이 처리된 후 테스트 스레드를 중지해야 하는 오류를 감지한 경우 setStopThread(true) 또는 setStopTest(true)를 호출할 수 있습니다.
- Thread Group Gui에는 샘플러 오류 이후에 어떤 일이 발생하는지 지정하는 추가 창이 있습니다: 계속(지금과 같이), 스레드 중지 또는 테스트 중지. 이것은 어떤 단계에서 더 낮은 수준으로 확장될 필요가 있습니다.
- 실행 메뉴에 종료를 추가했습니다. 이것은 스레드가 정상적으로 종료되도록 하는 것을 제외하고는 Stop과 동일합니다(즉, 다음 샘플이 완료된 후).
- 서버를 실행할 때 hold_samples=true 속성을 정의하여 테스트가 끝날 때까지 원격 샘플을 캐시할 수 있습니다. GUI에서 이를 제어하려면 더 많은 작업이 필요합니다.
- 프록시 서버에는 브라우저 헤더 기록을 건너뛸 수 있는 옵션이 있습니다.
- 프록시 재시작이 더 잘 작동합니다(데몬이 완료될 때까지 중지).
- 스케줄러는 이미 지나간 경우 시작을 무시합니다.
- 스케줄러에는 이제 지연 기능이 있습니다.
- Summariser 테스트 요소(주로 비 GUI용) 테스트를 추가했습니다. 이렇게 하면 요약 통계가 System.out 및/또는 로그 파일에 매우 자주(기본적으로 3분) 인쇄됩니다. 여러 요약자를 사용할 수 있습니다. 샘플은 요약기 이름으로 누적됩니다.
- 추가 프록시 서버 옵션: 연결 유지가 비활성화된 모든 샘플러 생성 샘플 세트 사이에 구분 기호 추가 각 세트의 첫 번째 샘플러에 응답 어설션 추가
- 테스트 계획에는 주석 필드가 있습니다.
- 이제 도움말 페이지를 배경으로 푸시할 수 있습니다.
- 별도의 기능 도움말 페이지
- 신규/수정된 기능
- __property() 및 __P() 함수
- __log() 및 __logn() - 로그 파일에 쓰기
- _StringFromFile은 이제 dir/file01.txt, dir/file02.txt 등의 파일 시퀀스를 처리할 수 있습니다.
- _StringFromFile() 함수는 이제 파일 이름에 변수 또는 함수를 사용할 수 있습니다.
- 신규 / 수정된 주장
- Response Assertion은 이제 URL에 대해 작동하며 null 데이터를 더 잘 처리합니다.
- 응답 어설션은 이제 응답 코드 및 응답 메시지에서도 일치할 수 있습니다.
- JTidy를 사용하여 잘 구성된 HTML을 확인하는 HTML Assertion
- 컨트롤러인 경우(아직 완전히 작동하지 않음)
- 트랜잭션 컨트롤러(자식의 시간 집계)
- 새로운 샘플러
- 기본 BSF 샘플러(옵션)
- BeanShell 샘플러(선택 사항, www.beanshell.org에서 다운로드해야 함)
- 기본 TCP 샘플러
- 선택적으로 BeanShell 서버 시작(JMeter 변수 및 메소드에 대한 원격 액세스 허용)
버전 1.9.1
미정
버전 1.9
- 샘플 결과 로그 파일은 이제 CSV 또는 XML 형식일 수 있습니다.
- 테스트 계획 실행 중 반복 이벤트 알림을 위한 새로운 이벤트 모델
- 임의의 자바스크립트 문을 실행하기 위한 새로운 자바스크립트 함수
- 많은 GUI 개선 사항
- 새로운 전처리기와 후처리기는 수정자와 응답 기반 수정자를 대체합니다.
- jdk1.3과 호환 가능
- JMeter 함수는 이제 완전히 재귀적이고 보편적입니다(함수를 함수에 대한 매개변수로 사용할 수 있음).
- 통합 도움말 창은 이제 하이퍼텍스트 링크를 지원합니다.
- 새로운 랜덤 함수
- 새 XML 어설션
- 새 LDAP 샘플러(알파 코드)
- JMeter를 실행하는 새로운 Ant 태스크(extras 폴더에 있음)
- 새로운 Java 샘플러 테스트 구현(개발자를 지원하기 위해)
- 더 효율적인 메모리 사용, .jmx 파일의 더 빠른 로드
- 새로운 SOAP 샘플러(알파 코드)
- 그래프 결과 시각화 도우미의 새로운 중앙값 계산
- 개발자 혜택을 위해 추가된 기본 구성 요소
- 테스트 실행 중 다양한 성능 향상
- 테스트 실행 중 GUI 오버헤드를 최소화하기 위한 새로운 단순 파일 레코더
- 새 기능: StringFromFile - 파일에서 값 가져오기
- 새 기능: CSVRead - 파일에서 여러 값 가져오기
- 이제 함수를 더 이상 인코딩해야 합니다. 특수 값이 리터럴 값인 경우 "\"로 이스케이프되어야 합니다.
- 새로운 잘라내기/복사/붙여넣기 기능
- SSL 테스트는 사용자 변경이 적고 GUI가 아닌 모드에서 작동해야 합니다.
- 메일러 모델은 GUI가 아닌 모드에서 작동합니다.
- 새로운 처리량 컨트롤러
- 새로운 모듈 컨트롤러
- 이제 특정 시간에서 특정 시간까지 테스트를 실행하도록 예약할 수 있습니다.
- 원격 JMeter 서버는 GUI가 아닌 클라이언트에서 시작할 수 있습니다. 또한 GUI 모드에서는 클릭 한 번으로 모든 원격 서버를 시작할 수 있습니다.
- 이제 ThreadGroups를 직렬 또는 병렬로 실행할 수 있습니다(기본값).
- 속성을 재정의하는 새로운 명령줄 옵션
- 새로운 크기 주장
버전 1.8.1
- 버그 수정 릴리스. 많은 버그가 수정되었습니다.
- 테스트 트리에서 중복 "루트" 노드를 제거했습니다.
- 테스트 트리에 아이콘이 다시 도입되었습니다.
- 빌드 프로세스를 개선하기 위한 일부 코드 재구성.
- 결과 보기 트리에 결과를 웹 문서로 볼 수 있는 옵션이 추가되었습니다(현재로서는 여전히 버그가 있음).
- Aggregate Listener의 새로운 Total 라인(이 시점에서 여전히 버그가 있음).
- JMeter의 로케일 설정을 변경하는 기능이 개선되었습니다.
- SSL 관리자가 개선되었습니다.
버전 1.8
- 집계 보고서의 계산이 개선되었습니다.
- 간소화된 애플리케이션 로깅.
- 새로운 기간 주장.
- 메일러 시각화 도우미를 수정하고 개선했습니다.
- HTTP 샘플러의 리소스 복구(소켓 및 파일 핸들)가 개선되었습니다.
- JMeter의 테스트 시작/중지 처리를 개선합니다.
- Interleave 및 Random Controller의 동작에 옵션을 수정하고 추가합니다.
- 새로운 카운터 구성 요소.
- 새 사용자 매개변수 구성 요소입니다.
- 파일 오프너의 성능이 향상되었습니다.
- 함수 및 기타 요소는 전역 변수에 액세스할 수 있습니다.
- JMeter의 GUI 내에서 사용 가능한 도움말 시스템.
- 테스트 요소를 비활성화할 수 있습니다.
- 언어/로케일은 JMeter를 실행하는 동안(대부분) 변경할 수 있습니다.
- 오류만 기록하도록 결과 트리 보기를 구성할 수 있습니다.
- 다양한 버그 수정.
버전 1.7.3
- 테스트 실행 중에 요청을 동적으로 변경할 수 있는 더 많은 기능을 제공하는 새로운 기능.
- 일본어 및 독일어의 새로운 언어 번역.
- 성가신 Log4J 오류 메시지를 제거했습니다.
- JMeter 1.7 버전 테스트 계획 파일(.jmx 파일) 로드 지원이 향상되었습니다.
- JMeter는 이제 사용자 이름/비밀번호 인증이 필요한 프록시 서버를 지원합니다.
- 테스트 중지를 나타내는 대화 상자는 테스트 중지 문제에 대해 JMeter를 중단하지 않습니다.
- GUI는 여러 원격 JMeter 서버를 실행할 수 있습니다(이를 방지하는 GUI 버그 수정).
- GUI에서 생성된 함수 호출을 돕기 위한 대화 상자.
- JMeter가 소켓에 Keep-Alive를 사용하거나 사용하지 않아야 함을 나타내는 HTTP 요청의 새로운 Keep-alive 스위치입니다.
- HTTP Post 요청은 경로 필드에 GET 스타일 인수를 가질 수 있습니다. 이제 프록시가 올바르게 기록합니다.
- 새로운 사용자 정의 테스트 전체 정적 변수.
- 결과 트리 보기는 이제 요청 이름(테스트 트리의 이름과 일치)과 전체 요청 및 POST 데이터를 포함한 추가 정보를 표시합니다.
- 사용되지 않는 View Results Visualizer를 제거했습니다(대신 View Results Tree 사용).
- 성능 향상.
- 메모리 사용 향상.
- 그래프 시각화 도구 GUI 개선.
- 메일러 시각화 도우미 업데이트 및 수정.
버전 1.7.2
- JMeter는 이제 테스트 실행이 중지되었을 때 사용자에게 알립니다.
- HTTP 프록시 서버는 리디렉션이 해제된 HTTP 요청을 기록합니다.
- HTTP 요청은 리디렉션을 따르거나 무시하도록 지시할 수 있습니다.
- 다양한 GUI 개선.
- 새로운 랜덤 컨트롤러.
- 새로운 SOAP/XML-RPC 샘플러.
버전 1.7.1
- GUI 코드와 테스트 엔진 코드를 보다 완벽하게 분리하기 위해 JMeter의 아키텍처가 개선되었습니다.
- 테스트 계획을 구성 개체로 XML에 저장하기 위해 Avalon 코드 사용
- 모든 리스너는 데이터를 파일에 저장하고 나중에 동일한 데이터를 로드할 수 있습니다.
버전 1.7베타
- 특수 문자에 대한 향상된 XML 지원(Tushar Bhatia)
- Non-GUI 기능 및 Non-GUI 테스트 계획 실행(Tushar Bhatia)
- 기본 JMeter 클래스에서 Swing 종속성 제거
- 국제화(오카모토 타카시)
- AllTests 버그 수정 (neth6@atozasia.com)
- ClassFinder 버그 수정 (neth6@atozasia.com)
- 새로운 루프 컨트롤러
- Proxy Server는 브라우저에서 HTTP 샘플을 기록합니다(사용자 설명서에 문서화됨).
- 멀티파트 양식 지원
- 헤더 사용자 정의를 위한 HTTP 헤더 클래스
- 응답에서 HTTP 헤더 정보 추출(Jamie Davidson)
- Mailer Visualizer가 JMeter에 다시 추가됨
- JMeter는 이제 url이 매개변수 이름과 값을 인코딩합니다.
- 청취자는 GUI가 초기화되지 않은 경우 더 이상 예외를 제공하지 않습니다.
- HTTPS와 권한 부여가 함께 작동
- 다운로드할 이미지에 대한 HTML 응답을 자동으로 구문 분석하고 요청에 대한 총 시간에 이러한 이미지 다운로드를 포함하는 새로운 Http 샘플링(Neth neth6@atozasia.com)
- 서버의 HTTP 응답은 링크 및 양식에 대해 구문 분석될 수 있으며 동적 데이터는 런타임 시 테스트 샘플에 추출 및 추가될 수 있습니다(문서화됨).
- 새로운 램프업 기능(Jonathan O'Keefe)
- 새로운 시각화 도구(Neth)
- 기능 테스트를 위한 새로운 어설션
버전 1.6.1
- 테스트 스크립트의 저장 및 로드를 수정했습니다(추가 줄 없음).
- 특수 문자(예: "&" 및 "<")를 저장하고 로드할 수 있습니다.
- 타이머와 리스너를 저장하고 로드할 수 있습니다.
- 쿠키에 대한 사소한 버그 수정(쿠키 값에 "="가 포함된 경우 중단됨).
- URL은 80 이외의 포트를 샘플링할 수 있으며 필요한 jar(JSSE)가 있는 경우 HTTPS를 테스트할 수 있습니다.
버전 1.6 알파
- 새로운 UI
- GUI와 Logic 코드의 분리
- 새 모듈을 위한 새 플러그인 프레임워크
- 향상된 성능
- 유연성 향상을 위한 테스트 로직 계층화
- 테스트 요소 저장 지원 추가
- 단일 클라이언트를 사용한 분산 테스트 지원 추가
버전 1.5.1
- 헤더 이름의 대소문자가 예상과 다른 경우 쿠키를 읽지 못하게 하는 버그가 수정되었습니다.
- 샘플러로 보내기 전에 항목을 복제 - 재배치가 스레드 간에 정보를 엉망으로 만드는 것을 방지합니다.
- 테스트 샘플에 매개변수를 추가하기 위한 편리한 대화 상자의 사소한 버그 수정. 버그로 인해 대화 상자의 항목이 테스트 샘플에 나타나지 않았습니다.
- 배포판에 xerces.jar 추가
- 배포에 junit.jar을 추가하고 몇 가지 테스트를 만들었습니다.
- 새로운 프레임워크 작업을 시작했습니다. cvs에 새 파일이 있지만 아직 프로그램에 영향을 주지는 않습니다.
- HTTPJMeterThread가 선택한 타이머에 따라 지연되는 것을 방지하는 버그를 수정했습니다.
버전 1.5
- Sampler, SamplerController 및 TestSample의 개념을 추상화했습니다. 샘플러는 프로토콜(예: HTTP 또는 FTP, RMI, SMTP 등)을 이해하는 코드를 나타냅니다. 테스트 중인 모든 항목에 실제로 연결하는 것은 코드입니다. SamplerController는 테스트 샘플 그룹을 구성하고 실행하는 방법을 이해하는 코드를 나타냅니다. Sampler와 해당 테스트 샘플을 결합하고 실행하는 것입니다. TestSample은 특정 테스트에 대해 사용자로부터 정보를 수집하는 방법을 이해하는 코드를 나타냅니다. 웹 사이트의 경우 URL 및 URL과 함께 보낼 정보를 나타냅니다.
- 테스트 샘플을 보다 편리하게 입력할 수 있도록 UI가 업데이트되었습니다.
- 스레드 그룹이 추가되어 사용자가 여러 테스트를 동시에 실행하도록 설정하고 해당 테스트 간에 테스트 샘플을 공유할 수 있습니다.
- 이제 테스트 샘플을 저장하고 로드할 수 있습니다.
- ... 그리고 더 많은 사소한 변경/개선 사항 ...
아파치 JMeter 1.4.1-dev
- 더 나은 가독성을 위해 수많은 패치 후에 URLSampler 코드를 정리했습니다. (SM)
- JMeter가 특별한 "user-agent" 식별자를 보내도록 했습니다. (SM)
- 리디렉션이 쿠키 및 인증 정보를 전송하지 않는 문제를 수정하고 jikes 컴파일 경고를 제거했습니다. 패치에 대해 Wesley Tanaka에게 감사드립니다(SM).
- URL 목록 및 쿠키 처리 문제를 테스트할 때 하나의 URL을 건너뛰게 하는 URLSampler의 버그를 수정했습니다. 패치를 제공한 Graham Johnson에게 감사드립니다(SM).
- POST 작업 문제를 수정했습니다. 패치를 위해 Stephen Schaub에게 감사합니다(SM).
Apache JMeter 1.4 - 1999년 7월 11일
- POST 작업 문제를 수정했습니다. 패치를 위해 Brendan Burns에게 감사드립니다(SM).
- 닫기 버튼을 제공하지 않는 창 관리자를 위해 정보 상자에 닫기 버튼을 추가했습니다. 지적해 주신 Jan-Henrik Haukeland에게 감사드립니다. (SM)
- 간단한 Spline 샘플 시각화 도우미(JPN) 추가
Apache JMeter 1.3 - 1999년 4월 16일
- 매번 동일한 상태를 보장하기 위해 샘플링을 시작하기 전에 Garbage Collector를 실행하고 종료를 실행합니다(SM).
- 여기저기서 일부 NullPointerException을 수정했습니다(SM).
- HTTP 인증 기능(RL) 추가
- 창 샘플 시각화 도우미(SM) 추가
- 명령줄 인수에 대한 어리석은 버그를 수정했습니다. 이것을 지적해 준 Jorge Bracer에게 감사드립니다(SM).
Apache JMeter 1.2 - 1999년 3월 17일
- JMeter(SM)와 통합된 쿠키 기능
- 쿠키 관리자 및 Netscape 파일 파서(SD) 추가
- JDK 1.1(SD)에 대한 수정된 컴파일 오류
Apache JMeter 1.1 - 1999년 2월 24일
- 속성 파일에서 URL 별칭을 생성할 수 있는 기회와 단일 URL(SM) 대신 URL 시퀀스에 별칭을 연결하는 기능 생성 매우 좋은 제안과 코드 예제를 제공한 Simon Chatfield에게 감사드립니다.
- TextVisualizer를 제거하고 훨씬 더 유용한 FileVisualizer(SM)로 대체했습니다.
- 알려진 버그 목록(SM)을 추가했습니다.
- Java Apache 로고(SM) 제거
- 몇 가지 오타 수정(SM)
- UNIX 메이크파일(SD) 추가
Apache JMeter 1.0.1 - 1999년 1월 25일
- 보류 중인 문제 문서 문제(SM)를 제거했습니다.
- 유닉스 스크립트(SM) 수정
- Java 2(SM)에서 "java -jar ApacheJMeter.jar"을 사용하여 JAR을 직접 실행할 수 있는 가능성 추가
- 일부 소규모 업데이트: Java 2(tm) 릴리스 후 고정 스윙 위치, 라이선스 업데이트 및 소규모 정리(SM)
Apache JMeter 1.0 - 1998년 12월 15일
- 초기 버전. (SM)