以前の変更履歴

このページでは、以前のバージョンで行われた変更についてのみ詳しく説明します。
現在の変更点については、変更点で詳しく説明しています。

変更セクションは、上 (最新) から下 (最新) に時系列で並べられます。

バージョン 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 の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。
  • Java 11 以降、JavaScript 実装のNashorn は非推奨になりました。Nashorn ベースの JavaScript を使用している場合、Java は次の非推奨警告を発します。
    警告: Nashorn エンジンは、将来の JDK リリースから削除される予定です
    
    これらの警告を黙らせるには、-Dnashorn.args=--no-deprecation-warningを Java 引数に追加します。これは、環境変数JVM_ARGSを設定することで実現できます
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    
  • Java 15 では、JavaScript 実装のNashorn が削除されました。JSR-223 互換の JavaScript エンジンを再度追加するには、次の 2 つのオプションがあります。
    Mozilla Rhino を使用する
    rhino -engine-1.7.13.jar$JMETER_HOME/lib/extにコピーします。
    OpenJDK Nashorn を使用する
    OpenJDK Nashorn 実装はモジュールとして提供されます。これを使用するには、ダウンロードしてモジュール パスに追加する必要があります。バージョン 15.0 とその依存関係をダウンロードし、モジュール パスを設定するハックな方法を以下に示します。
    mkdir lib/モジュール
    プッシュライブラリ/モジュール
    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
    ポップド
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmeter
          

バージョン 5.4.1

概要

新しくて注目に値する

UX の改善

互換性のない変更

  • LAF の変更が復元された後に再起動します。JMeter 5.3 では削除されていました。

改良点

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

コントローラー

リスナー

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

I18N

レポート/ダッシュボード

全般的

  • バグ 65028 - プロパティclient.rmi.localportのドキュメントを追加
  • バグ 65012 - GUI で長いコメントを表示する処理の改善

機能以外の変更

  • SaxonHE を 9.9.1-8 に更新 (9.9.1-7 から)
  • asm を 9.0 に更新 (7.3.1 から)
  • バウンシーキャッスルを 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 から)
  • jackson を 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 - スレッド グループ ドキュメントのスケジューラ参照を変更します。オリ・マルコの寄稿
  • バグ 65006 - 完成した HTTP Request Defaults 要素の図 (図 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 の特定の画面解像度では機能しません。ジャニス・ワイスの助けを借りて
  • バグ 65008 - PostProcessor から呼び出された SampleResult.setIgnore() が考慮されない
  • バグ 64993 - Daklaf LAF: メニュー ナビゲーションがキーボード ショートカットで機能しない。ジャニス・ワイスの助けを借りて
  • バグ 65013 - 引数が引用符で囲まれた POST multipart/form-data cURL コードが正しくインポートされない

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。
  • Java 11 以降、JavaScript 実装のNashorn は非推奨になりました。Nashorn ベースの JavaScript を使用している場合、Java は次の非推奨警告を発します。
    警告: Nashorn エンジンは、将来の JDK リリースから削除される予定です
    
    これらの警告を黙らせるには、-Dnashorn.args=--no-deprecation-warningを Java 引数に追加します。これは、環境変数JVM_ARGSを設定することで実現できます
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    
  • Java 15 では、JavaScript 実装のNashorn が削除されました。JSR-223 互換の JavaScript エンジンを再度追加するには、次の 2 つのオプションがあります。
    Mozilla Rhino を使用する
    rhino -engine-1.7.13.jar$JMETER_HOME/lib/extにコピーします。
    OpenJDK Nashorn を使用する
    OpenJDK Nashorn 実装はモジュールとして提供されます。これを使用するには、ダウンロードしてモジュール パスに追加する必要があります。バージョン 15.0 とその依存関係をダウンロードし、モジュール パスを設定するハックな方法を以下に示します。
    mkdir lib/モジュール
    プッシュライブラリ/モジュール
    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
    ポップド
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmeter
          

バージョン 5.4

概要

新しくて注目に値する

UX の改善

バグ 62179 - バグ 64658 - スプラッシュ スクリーンがシステム モーダルではなくアプリケーション モーダルになったため、JMeter の起動時に他のアプリケーションをブロックしません。

互換性のない変更

  • 一部のクラスから LogKit ロガー機能を削除します。これは、 LoggingManagerクラスを完全に削除することを目的とし ていました (JMeter 3.2 から廃止されました) が、jmeter-plugins がそれに依存していたため、LoggingManagerLogKit -adapter はこのバージョンに残ります (ただし、まだ廃止されています)。

改良点

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

  • バグ 64555 - JMSProperties を介して JMSType ヘッダー フィールドを設定します。Daniel van den Ouden による寄稿

コントローラー

リスナー

  • プル リクエスト #544 - 「生の」結果を InfluxDB に送信する BackendListener を追加します。Graham Russell による寄稿 (graham at ham1.co.uk)

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

I18N

レポート/ダッシュボード

  • バグ 64824 - ダッシュボード/HTML レポート: KOFAILに名前変更
  • バグ 64936 - 大規模なパフォーマンス テストを処理するために、generate_report_ui.generation_timeout を 5 分に増やします

全般的

  • バグ 64446 - 行末にバックスラッシュがある curl コマンドをより適切に解析し、データ引数でPUTメソッドをサポートする
  • プル リクエスト #599 - ツールバーに追加されたすべてのボタンの動作/外観が一貫していることを確認します。ジャニス・ワイスによる寄稿
  • バグ 64581 - SampleResult#setIgnoreがサンプラー エラーの動作に影響を与えることを許可する
  • バグ 64680 - 起動時にJMETER_HOMEに フォールバックして、JMeter のインストール ディレクトリを検出する
  • バグ 64787 - プル リクエスト #630 - 韓国語の翻訳を追加。Woonsan Ko (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を介して報告された例外をログに記録する
  • プル リクエスト #591 - 非推奨の sudo フラグを travis ファイルから削除します。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 から) に更新
  • プル リクエスト #598 - 建物ページに差分を作成するための別のオプションを追加します。jmetertea による寄稿 (github.com/jmetertea)
  • プル リクエスト #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 から)
  • バウンシーキャッスルを 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 から)
  • プル リクエスト #635 - ドキュメントの一部の画像比率を修正。Vincent Daburon (gmail.com の vdaburon) によって提供されたパッチ

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 64479 - リグレッション: HTTP(s) スクリプト レコーダーが非 GUI モードでの適切なシャットダウンを妨げる
  • バグ 64653 - プロキシによるフォームからの文字セットの解析から Javascript と JSON を除外する

その他のサンプラー

コントローラー

  • バグ 64795 - 要約レポートを生成すると、構成された間隔 ( summariser.interval ) で要約行が出力されない場合があります: ドキュメントの明確化

リスナー

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 64638 - JSON JMESPath アサーション / JSON アサーション: GUI を開くと、スライドし続ける水平スクロールバーが表示される
  • バグ 64915 - 「Use Cache-Control/Expires header」がチェックされている場合、JMeter Cache Manager が誤動作する

機能

I18N

レポート/ダッシュボード

  • バグ 64547 - レポート/ダッシュボード: グラフの 1 秒あたりの応答コードが、SampleResult の空の応答コードによって壊れていないことを確認します。Ubik Load Pack (https://ubikloadpack.com) による寄稿
  • バグ 64617 - HTML レポート: 時間の経過に伴う応答時間のパーセンタイルのグラフで、90、95、99 パーセンタイルは、実際には 0.90、0.95、および 0.99 パーセンタイルに対応します
  • バグ 64553 - トランザクション コントローラーを使用すると、送信バイト数と受信バイト数が influxdb(BackendListener) で 0 として表示される
  • バグ 64624 - レポートのエラー メッセージで JSON 文字列に対してあまり積極的でないエスケープを使用する

ドキュメンテーション

  • プル リクエスト #571 - プロキシ スクリプト レコーダーを使用する場合に、生成された CA の文書化された名前を修正します。より大きな PR の一部。Vincent Daburon (gmail.com の vdaburon)
  • 実装を反映するために、ミラー サーバーの特別なヘッダー機能のドキュメントを変更します。

全般的

  • バグ 64448 - 右クリックのコンテキスト メニューでのユーザー定義変数の複製
  • バグ 64499 -スレッドが停止していない場合、 jmeterengine.stopfail.system.exit=true の場合に JMeter を終了すると時間がかかりすぎる
  • バグ 64510 - Darklaf- IntelliJ テーマが MacOS の DarkTreeUI で NPE をスローする
  • バグ 64594 - PowerTableModel を使用するコンポーネントで、数値の代わりに変数値を入力できない (Throughput Shaping Timer などのサードパーティ プラグインに影響します)
  • バグ 64475 - Menu Generate HTML Report: タイムアウトが原因でレポートの生成が失敗した場合、エラー メッセージが明示的ではありません。Ubik Load Pack (https://ubikloadpack.com) による寄稿
  • バグ 64627 - JMeterContext の API メソッドを介した制御フローのプログラムによる操作が、5.0 より前のように機能しません。ティル・ニューナストによる寄稿
  • バグ 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 - テキストエリアの色は、ダーク モードでは適切ではありません。ジャニス・ワイスによる寄稿
  • バグ 64935 - 壊れたプラグイン クラスが JMeter の起動を妨げてはなりません

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • マイケル・ワイドマン (https://github.com/michaelweidmann)
  • Deng Liming (gmail.com の liming.d.pro)
  • jmetertea (https://github.com/jmetertea)
  • Ubikロードパック
  • ジャニス・ワイス
  • ダニエル・ヴァン・デン・オーデン
  • ノイナストまで (https://github.com/tilln)
  • Pooja Chandak (gmail.com の poojachandak002)
  • Vincent Daburon (gmail.com の vdaburon)
  • Woonsan Ko (apache.org の woonsan)
  • ティモ (Leefers.eu の ASF.Software.Timo)
  • グラハム・ラッセル (グラハム at ham1.co.uk)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

  • 三森浩義 (mitsumori at mis.dev)

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。
  • Java 11 以降、JavaScript 実装のNashorn は非推奨になりました。Nashorn ベースの JavaScript を使用している場合、Java は次の非推奨警告を発します。
    警告: Nashorn エンジンは、将来の JDK リリースから削除される予定です
    
    これらの警告を黙らせるには、-Dnashorn.args=--no-deprecation-warningを Java 引数に追加します。これは、環境変数JVM_ARGSを設定することで実現できます
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    
  • Java 15 では、JavaScript 実装のNashorn が削除されました。JSR-223 互換の JavaScript エンジンを再度追加するには、次の 2 つのオプションがあります。
    Mozilla Rhino を使用する
    rhino -engine-1.7.13.jar$JMETER_HOME/lib/extにコピーします。
    OpenJDK Nashorn を使用する
    OpenJDK Nashorn 実装はモジュールとして提供されます。これを使用するには、ダウンロードしてモジュール パスに追加する必要があります。バージョン 15.0 とその依存関係をダウンロードし、モジュール パスを設定するハックな方法を以下に示します。
    mkdir lib/モジュール
    プッシュライブラリ/モジュール
    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
    ポップド
    export JVM_ARGS="--modulepath $PWD/lib/modules"
    ./bin/jmeter
          

バージョン 5.3

概要

新しくて注目に値する

UX の改善

いくつかのコンポーネントを改善する Darklaf のルック アンド フィールを 追加しました。

ツリーのインデント レベルの方が簡単です。

Darklaf Darcula テーマの JMeter ツリー
Darklaf Darcula テーマの JMeter ツリー
Darklaf IntelliJ テーマの JMeter ツリー
Darklaf IntelliJ テーマの JMeter ツリー

新しいルック アンド フィール テーマ。ライト: IntelJ、Solarized Light、HighContrast Light。ダーク: OneDark、Solarized Dark、HighContrast Dark。

ツリー内の要素が無効になると、そのすべての子孫が灰色で表示されます。たとえば、次のツリーでは、 Contollerが無効になっているため、その子はグレーになっています。これは純粋に UI の変更であり、動作は変更されません。

コントローラーが無効になっている間、その子は灰色です
コントローラーが無効になっている間、その子は灰色です

ノードの選択が変更された場合でも、ツリーのコンテキスト メニューが表示されます。以前はポップアップが消え、最初にノードを選択してからポップアップを起動する必要がありました。

再起動せずにルック アンド フィールを更新できるようになりました

フォントをズームするには、 CTRL  +  ALT  + ホイールを使用します。以前のショートカットはCTRL  +  SHIFT  +  wheelでしたが、水平スクロールと競合していました。

アプリ内ズームの一貫性が向上しました (たとえば、すべてのラベルやパネルが拡大縮小されていない場合があります)。例: ログ ビューアー、JSR223 コード エディターは、以前はズームイン/アウト機能でスケーリングされていませんでした。

ツリー コンテキスト メニューは、ラベルのみではなく、行全体に対して表示されます

編集可能なフィールドの取り消しとやり直しのサポート。キーストロークは、オペレーティング システムに応じてCTRL  +  Z / CTRL  +  SHIFT  +  Zまたは CMD  +  Z / CMD  +  SHIFT  +  Zです。元に戻す機能はフィールド レベルで実装され (各フィールドには独自の履歴があります)、ツリーの選択が変更されると履歴は無効になります。

オプション メニューで現在選択されている言語をマークします。

オプション メニューで現在選択されているログ レベルをマークします。

多くのテスト要素 UI のリワーク (JUnit リクエスト、ForEach コントローラー、If コントローラー、スループット コントローラー、WhileController、Counter Config、XPath2 Extractor、Function Helper ダイアログ、検索ポップアップ、JMS 要素)

互換性のない変更

改良点

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

  • バグ 64288 - JUnit リクエスト: UX の改善
  • バグ 64407 - JMS パブリッシャーの UX を改善します。Ubik Load Pack (https://ubikloadpack.com) による寄稿
  • バグ 64408 - JMS サブスクライバーの UX を改善します。Ubik Load Pack (https://ubikloadpack.com) による寄稿

コントローラー

リスナー

  • バグ 64150 - 結果ツリーの表示: テスターで応答データを編集できるようにする
  • バグ 63822 - 結果ツリーの表示: レンダラー モードの切り替え中に分割ペインの位置を保持する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 64091 - 正確なスループット タイマーのスケジュール生成が大幅に改善されました (例: 10M サンプルで 2 秒)
  • Bug 64281 - Counter Config: UX の改善
  • バグ 64283 - XPath2 Extractor: UX の改善

機能

  • バグ 64070 - _timeshift関数がオフセット フォーマッタで機能しない
  • バグ 64275 - 関数ヘルパー ダイアログ: UX の改善

I18N

  • バグ 64102 - [ツール] メニューに中国語の翻訳を追加。Liu XP による寄稿 (sina.com の liu_xp2003)

レポート/ダッシュボード

  • バグ 64380 - ' Median ' フィールドをダッシュ​​ボードに追加し、応答時間のパーセンタイル フィールドが浮動小数点数をサポートするようにします。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 の改善
  • プル リクエスト #573 - 起動時間を改善: テスト プラン UI の初期化をスキップ
  • プル リクエスト #585 - JSyntaxTextArea の構文エイリアスとして JEXL3 を追加しました。drivera-armedia による寄稿 (https://github.com/drivera-armedia)
  • プル リクエスト #590 - Groovy を 3.0.3 に更新します。

機能以外の変更

  • ビルド システムが Gradle から 6.3 (6.1 から) にアップグレードされ、ビルドに Java 14 を使用できるようになりました
  • バグ 63963 - プル リクエスト #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 から)
  • バウンシーキャッスルを 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 から)
  • hamcrest を 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 から)
  • プル リクエスト #559 - TrustAllSSLSocketFactory のソースに、全員を信頼することは安全ではないというメモを追加します。YYTVicky (github の yytvicky) からの PR に基づく
  • プル リクエスト #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 - 「Ignore Sub-Controller blocks」の中国語翻訳を修正。yangxiaofei77 提供 (gmail.com の yangxiaofei77)
  • プル リクエスト #552 - client.rmi.localportポート割り当ての説明を修正。anant-93 による寄稿
  • プル リクエスト #543 -ファイルに追加のデフォルト値に関する__StringToFile関数のドキュメントを明確にしますか? パラメータ。オリ・マルコの寄稿
  • バグ 64302 - 印刷可能なドキュメントと BeanShell のベスト プラクティスの JMeter API へのリンクと、すべてのドキュメントの JavaFX 実装 Web サイトへのリンクを修正します。2477441814 (qq.com で 2477441814) によって報告されました。

全般的

  • バグ 63945 - ファイル システムの変更後にファイルを開くと NPE が発生する
  • バグ 64034 - JAVA_HOMEパス にスペースがあると、シェル スクリプトが失敗します。ray7219 による寄稿 (hotmail.com の ray7219)
  • バグ 63856 -トランザクション コントローラの使用時に親サンプルにconnectTimeを設定する
  • バグ 64227 - Windows でテンプレートをロードする際のエラー
  • TestPlan UI: ユーザーがキャンセルをクリックした場合、クラスパスへのエントリの追加をスキップします

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • ジャニス・ワイス
  • Stefan Seide (trilobyte-se.de の stefan)
  • jmetertea
  • ray7219
  • セバスチャン・ボガ (endava.com の sebastian.boga)
  • 劉 XP (sina.com で liu_xp2003)
  • anant-93 (https://github.com/anant-93)
  • Ori Marko (orimarko at gmail.com)
  • キース・モー(https://github.com/keithmork)
  • drivera-armedia (https://github.com/drivera-armedia)
  • Ubikロードパック
  • 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)
  • 2477441814 で qq.com

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。
  • Java 11 以降、JavaScript 実装のNashorn は非推奨になりました。Nashorn ベースの JavaScript を使用している場合、Java は次の非推奨警告を発します。
    警告: Nashorn エンジンは、将来の JDK リリースから削除される予定です
    
    これらの警告を黙らせるには、-Dnashorn.args=--no-deprecation-warningを Java 引数に追加します。これは、環境変数JVM_ARGSを設定することで実現できます
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    

バージョン 5.2.1

概要

新しくて注目に値する

このリリースは、マイナーなバグ修正リリースです。 バージョン 5.2 の最新のリリース ノートを表示するに は、変更履歴ページを参照してください。

互換性のない変更

改良点

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

  • バグ 63926 - JDBC 接続構成: 接続プロパティを設定する機能を追加

コントローラー

リスナー

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

I18N

レポート/ダッシュボード

全般的

機能以外の変更

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

コントローラー

リスナー

  • バグ 63906 - フェイルオーバー テスト中の InfluxDB バックエンド リスナーの NPE

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

I18N

レポート/ダッシュボード

ドキュメンテーション

全般的

  • バグ 63910 - リリースされた 5.2 バージョンで壊れた maven poms
  • バグ 63911 - ApacheJMeter_config.jar のコンテンツが変更されました (bin が run に移動され、ファイルが欠落しています)

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。
  • Java 11 以降、JavaScript 実装のNashorn は非推奨になりました。Nashorn ベースの JavaScript を使用している場合、Java は次の非推奨警告を発します。
    警告: Nashorn エンジンは、将来の JDK リリースから削除される予定です
    
    これらの警告を黙らせるには、-Dnashorn.args=--no-deprecation-warningを Java 引数に追加します。これは、環境変数JVM_ARGSを設定することで実現できます
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    

バージョン 5.2

概要

新しくて注目に値する

このリリースはメジャー リリースです。 バージョン 5.1.1 の最新のリリース ノートを表示するに は、変更履歴ページを参照してください。

互換性のない変更

  • HTTP(S) Test Script Recorder は、以前は番号を先頭に追加していましたが、名前の末尾に番号を追加するようになりました。 バグ 63450を参照
  • ブール値を返す XPath 式で XPath アサーションを使用すると、一致するものがない場合は True になり、常に true が返されます 。Bug 63455を参照してください。
  • XML 解析は安全でない XML を拒否するようになりました。これは次の機能に影響します。
    • XMLアサーション
    • XMLSchemAssertion
    • XPath 関数
    • XPath 1 & 2 エクストラクタ
    • XPath 1 & 2 アサーション

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 63450 - HTTP(S) Test Script Recorder: 番号を先頭ではなく末尾に置く
  • バグ 63790 - 埋め込みリソースのダウンロード: ソースの場所を削除して CSS 解析を最適化する

その他のサンプラー

  • バグ 63406 - JDBC 接続構成: 接続プールを初期化する事前初期化の新しいオプション。Franz Schwab による寄稿 (franz.schwab at exasol.com)
  • バグ 63561 - JDBC リクエスト: 特定の数の行のみをフェッチできるようにします。Franz Schwab による寄稿 (franz.schwab at exasol.com)
  • バグ 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 でサポート)

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

  • バグ 63219 -文字列をファイルに保存/追加する 新しい関数__StringToFile 。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • 独自の同期の代わりに__counterAtomicIntegerを使用する

I18N

レポート/ダッシュボード

  • バグ 63471 - レポート生成に使用されるStringConverterは、数値の前後の空白を無視する必要があります。

全般的

  • バグ 63396 - JSR223 テスト要素: パラメータの説明が誤解を招く、スクリプトと同じ
  • バグ 63480 - XPathAssertion および XPathAssertion2: 変数からの入力のテスト カバレッジを改善します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63452 - Tools / Import from cURL: JMeter ユース ケースで有効なすべてのコマンド ライン オプションを完全にカバーします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63419 - Tools / Import from cURL: cURL コマンドのセットをファイルからインポートする機能を追加します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63760 - JOrphanUtils: ランダムな英数字のパスワード ジェネレーターを追加
  • バグ 63355 - 結果ツリーの表示: Java 11 以降、ブラウザー表示オプションは使用できません。これを使用可能にする方法を文書化してください。これを参照してください。
  • バグ 62861 - スレッド グループ: 新しい繰り返しが新しいユーザーか同じユーザーかを構成する機能を提供します (Cookie マネージャー、キャッシュ マネージャー、および httpclient.reset_state_on_thread_group_iteration に適用されます)。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63616 - Javadoc を修正:
    JMeterContext#getThreadNum()
    1 ではなく 0 から始まります。寄稿者: Ori Marko (orimarko at gmail.com)
  • 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-parsers 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 による寄稿 (John.Bergqvist at diffblue.com)
  • 最新のチェックスタイル (バージョン 8.22) に更新
  • CompareAssertionおよびその他の場所のコードのクリーンアップ。Graham Russell (graham at ham1.co.uk) によるパッチに基づく
  • プル リクエスト #491 - Graphite メトリクスのカバレッジを増やします。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #520 - 匿名クラスをラムダ式に置き換えます。Graham Russell (gram at ham1.co.uk) による寄稿。
  • プル リクエスト #524 - JUnit 4 から JUnit 5 への移行。Graham Russell (graham at ham1.co.uk) による寄稿。

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 63298 - エンコードされた URL を含む HTTP リクエストがデコードされた形式で送信される
  • バグ 63364 - subresults.disable_renaming=trueを設定すると、サブ結果は親の SampleLabel を使用して名前が変更されますが、そうすべきではありません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63129 - JMeter は、最初のページ送信時にエンコーディングを識別できません。Naveen Nandwani (naveen.nandwani at india.nec.com) による分析と 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 - Aggregate Graph のテーブル行の選択が頻繁に失われる
  • バグ 63347 - 結果ツリーの表示: 検索フィールドが小さすぎて、Windows 7 で 1 文字も表示されない
  • バグ 63433 - ListenerNotifier: ファイル名が null の場合、Listener NullPointerException で問題が検出されました。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63674 - DataStripping が有効になっている場合、階層内の下位のサブ結果で結果を削除する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 63455 - XPath アサーション: XPath 式がブール値を返す場合、一致するものがない場合は true。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

機能

I18N

レポート/ダッシュボード

ドキュメンテーション

  • バグ 63513 - MariaDB の例を JDBC ドキュメントに追加します。Ori Marko (orimarko at gmail.com) による寄稿
  • バグ 63484 - Apache Velocity を JSR223 スクリプト言語として使用するためのメモを追加します。Ori Marko (orimarko at gmail.com) によるパッチに基づく
  • バグ 63519 - プル リクエスト #471 - JMeter チュートリアルで 正しいメソッドgetLabelResource()を使用してください。Sun Tao による寄稿 (hotmail.com の buzzerookie>)

全般的

  • バグ 63394 - テストの実行が失敗した場合 (テスト計画がないなどの理由で)、JMeter はゼロ以外で失敗するはずです。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63464 - image/svg+xml が誤ってバイナリと見なされる
  • バグ 63490 - スケジューラの期間の最後に、多数のサンプラが同時に実行される
  • プル リクエスト #480 プル リクエスト #482 - コメントとログ メッセージのいくつかのタイプミスを修正しました。Anass Benomar (gmail.com の anassbenomar) によるパッチに基づく
  • バグ 63751 - 中国語の翻訳のタイプミスを修正。Jinliang Wang による報告 (wjl31802 at 126.com)
  • バグ 63723 - 分散テスト: 一部のスレッドがまだアクティブであるにもかかわらず、JMeter コントローラー ノードが分散テストを終了する
  • バグ 63614 - 分散テスト: 負荷テストの終了時にダッシュボード レポートを生成できない
  • バグ 63862 - 検索ダイアログ/ビューの結果ツリーで検索: 正規表現がチェックされ、正規表現が無効な場合、例外がキャッチされない
  • バグ 63793 - 安全でない XML 解析の修正

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Clifford Harms (gmail.com の clifford.harms)
  • Ubikロードパック
  • シャ・リー
  • Naveen Nandwani (india.nec.com の naveen.nandwani)
  • Artem Fedorov (blazemeter.com の artem.fedorov)
  • Ori Marko (orimarko at gmail.com)
  • Sun Tao (hotmail.com のバザールーキー)
  • John Bergqvist (diffblue.com の John.Bergqvist)
  • Franz Schwab (franz.schwab at exasol.com)
  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • Anass Benomar (gmail.com の anassbenomar)
  • ヤクブ・ベドナーシュ
  • Pascal Schumacher (pascalschumacher at apache.org)
  • GraphAware

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

  • Sergiy Iampol (playtech.com の sergiy.iampol)
  • Brian Tully (acquia.com の brian.tully)
  • Amer Ghazal (gmail.com の amerghazal)
  • Stefan Seide (trilobyte-se.de の stefan)
  • Havlicek Honza (gmail.com の havlicek.honza)
  • Pierre Astruc (evertest.com の pierre.astruc)
  • Jinliang Wang (wjl31802 at 126.com)

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。
  • Java 11 以降、JavaScript 実装のNashorn は非推奨になりました。Nashorn ベースの JavaScript を使用している場合、Java は次の非推奨警告を発します。
    警告: Nashorn エンジンは、将来の JDK リリースから削除される予定です
    
    これらの警告を黙らせるには、-Dnashorn.args=--no-deprecation-warningを Java 引数に追加します。これは、環境変数JVM_ARGSを設定することで実現できます
    export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
    

バージョン 5.1.1

概要

新しくて注目に値する

このリリースは、主にバグ修正リリースです。 バージョン 5.1 での最新の主な動作を表示するに は、変更履歴ページを参照してください。

ライブレポートと Web レポート

[ツール] メニューに新しいメニュー エントリが追加されました。以前の CSV/JTL ファイルから結果レポートを生成できます。


互換性のない変更

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 62977 - デフォルトの User-Agent ヘッダーなしで HTTP リクエストの送信を許可する

その他のサンプラー

  • バグ 63185 - LDAP 関連の要素: SSL/TLS 接続を暗黙的に信頼するオプションを追加/ホスト名の検証を無効にします。Brian Wolfe (wolfebrian2120 at gmail.com) による寄稿に基づく

コントローラー

リスナー

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 63178 - CSS Selector Extractor: JODD (JoddExtractor) ベースの実装のパフォーマンスを改善

機能

I18N

レポート/ダッシュボード

  • バグ 59896 - レポート / ダッシュボード: メニュー エントリを追加して、CSV ファイルからオンデマンドでレポートを生成します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

全般的

  • プル リクエスト #444 - 最新の Spock v1.2 (以前は 1.0) に更新。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #446 - ユニット テストの読みやすさと Spock の使用を改善します。Graham Russell による寄稿 (graham at ham1.co.uk)

機能以外の変更

  • バグ 63203 - 単体テスト: 単体テスト用にのみ公開されたメソッド/コンストラクター/クラスの @Deprecated の使用を@VisibleForTestingに置き換えます
  • プル リクエスト #449 - ResponseTimePercentilesOverTimeGraphConsumer のリファクタリングとテスト。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #450 - 抽象グラフ コンシューマーの改善。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #451 - いくつかの単体テストとクラスを改善します。Graham Russell による寄稿 (graham at ham1.co.uk)

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

  • バグ 63202 - JMS パブリッシャー: ObjectMessageRenderer が初期化されていないセキュリティで XStream インスタンスを作成する

コントローラー

リスナー

  • バグ 63204 - RenderAsJSON#prettyJSON : JSONParser#parseが JSONValue を返せない

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 62446 - 必要なフィールドのカウンター ドキュメントが間違っています。gmail.com の orimarko による寄稿
  • バグ 62327 - TestPlan: ライブラリ テーブルで、パスが変更されてプランが保存されている場合、ファイルのリロード時に変更が失われる

機能

  • バグ 63241 - 非 Test スレッドから呼び出された場合、__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 - プロキシ オプションを使用して JMeter 5.1 を実行すると、java.lang.NullPointerException: null が発生する
  • バグ 58183 - スレッドの開始に時間がかかる場合、ランプアップが尊重されず、ランプアップ時間後にスレッドが開始し続ける可能性がある

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Ubikロードパック
  • Benoit Vatan (gmail.com の benoit.vatan)
  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • Brian Wolfe (gmail.com の wolfebrian2120)
  • gmail.com のオリマルコ

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。

バージョン 5.1

概要

新しくて注目に値する

コアの改善

JDBC テストが改善され、init SQL ステートメントを設定できるようになり、QueryTimeout をサポートしない JDBC ドライバーとの互換性が追加されました。

  • HTTPS を使用して HTTP(S) Test Script Recorder を介してリクエストを記録するときに正しいヘッダーを収集するなど、さまざまなバグ修正が実装されました。
  • バージョン 5.0 では、カスタム ネーミング ポリシーを使用してサブ結果の名前を変更するように JMeter が変更されました ( バグ 62550 )。この変更は、Functional Testing にとって煩わしい可能性があります。必要に応じて以前の動作に戻すために、新しいプロパティ subresults.disable_renaming=trueが導入されました。別の方法は、テスト計画で機能テスト モードを確認することです。 バグ 63055を参照してください。

UX の改善

テンプレートは、テスト計画の生成時に入力されるパラメーターを提供できます。 記録テンプレートはこの機能を使用します

これらのエントリを収集するために、新しい[ツール] メニューが導入されました。これらのエントリは、次のような JMeter に関する一般的な使用に使用されます。

  • 関数ヘルパー ダイアログ
  • レポート用にトランザクションをエクスポート
  • テスト計画の概要を HTML として提供するスケマティック ビューを生成します。
  • cURL コマンドをインポートしてテスト計画を作成または更新できるcURL からのインポート
  • JSR223 テスト要素のコンパイル
  • ヒープ ダンプを作成する
  • スレッド ダンプを作成する

テスト計画

cURL コマンドからテスト計画を作成する機能。

スクリプティング / デバッグの強化

  • すべての JSR223 要素をコンパイルするためのメニュー項目が [ツール] メニューで利用できるようになりました

ライブレポートと Web レポート

  • -eまたは-gオプションを使用すると、負荷テスト統計の概要を含む JSON ファイルが生成されるようになりました。
  • 時間ごとにグラフ化されたパーセンタイル コンピューティング アルゴリズムが変更され、タイム スロットごとに再起動されるようになりました
  • レポート フォルダが存在しない場合、または-fコマンド ライン オプションを使用して空でない場合の、よりユーザー フレンドリーな動作

互換性のない変更

  • HTML レポートの応答時間パーセンタイル オーバー タイム (成功した応答)グラフでは、このバージョンより前の各タイム スロットのパーセンタイル計算では、前のタイム スロットのパーセンタイル データがベースとして使用されていました。このバージョンから、各タイムスロットは独立しています。 バグ 62883を参照してください
  • ClientJMeterEngine#rsetPropertiesシグネチャは、Properties の代わりにHashMap<String,String>を使用するように変更されました 。Bug 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.*プロパティを Mail Reader Sampler に渡します。Artem Fedorov (blazemeter.com の artem.fedorov) によって実装され、BlazeMeter によって提供されました。
  • バグ 63055 - テストが機能モードまたはプロパティsubresults.disable_renaming=true で実行されている場合、SampleResult ラベルの名前を変更しないでください。Artem Fedorov (blazemeter.com の artem.fedorov) によって実装され、BlazeMeter によって提供されました。

コントローラー

リスナー

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 62766 - Keystore Config: デフォルトですべてのエイリアスをロードする必要があります。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62832 - JDBC 接続の構成: init SQL ステートメントを設定できるようになりました。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

機能

  • バグ 63037 - CSVReadを使用する場合、ファイルのスクリプト ベース パスも検索します。

I18N

レポート/ダッシュボード

  • バグ 62883 - レポート / ダッシュボード: 一定期間の応答時間パーセンタイル (成功した応答) グラフのパーセンタイルの計算方法を変更する
  • バグ 63060 - レポート ジェネレーター: ジェネレーターは、生成したフォルダー/ファイルのみをチェックし、それらのみを削除する必要があります
  • バグ 63059 - HTML ダッシュボード統計テーブル用に計算されたデータのコンテンツを JSON としてエクスポートする新しい JsonExporter を作成します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63081 - コマンド ライン オプション-fを使用しても、コマンド ライン オプション-gのみで生成を使用すると、レポート フォルダが削除されません。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 (orimarko at gmail.com) による寄稿
  • バグ 62752 - ドキュメントに追加: ctx.getThreadNum()は 0 ベースですが、${__threadNum}は 1 ベースです
  • プル リクエスト #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 (gmail.com の hitesh.h.patel) による寄稿
  • バグ 59633 - メニューの [テスト計画を名前を付けて保存] 、 [テスト フラグメントとして保存]、[選択内容を保存] の [ファイル]ダイアログで新しいファイル名を使用する必要があります
  • バグ 61486 - jmeter-server と非 GUI モードをヘッドレスで実行する
  • バグ 63093 - JSR223 テスト要素のコンパイルメニュー項目を追加します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63094 - 新しいツール メニューの導入
  • バグ 63101 - テスト計画の読みやすい概要を生成するメニュー項目を提案する
  • バグ 63144 - リスナー ツリーを表示すると、巨大なテキストを含む応答を開くのに時間がかかります。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

機能以外の変更

  • プル リクエスト #408 - RenderInBrowserコンポーネント の JavaFX が見つからない場合、スタック トレースの代わりに情報メッセージをログに記録します。
  • プル リクエスト #412 - 中国語の翻訳を更新します。刘士 (liushilive at outlook.com) による寄稿。
  • プル リクエスト #406 - JMeter でセキュリティ マネージャーを使用する方法に関する短い段落を追加します。
  • バグ 62893 - commons-lang3 の廃止されたものではなく、commons-text (バージョン 1.6) の StringEscapeUtils を使用します。
  • バグ 62972 - プル リクエスト #435 - 非推奨のメソッドClass#newInstanceへの呼び出しを置き換えます。
  • バグ 63034 - ClientJMeterEngine: rsetPropertiesが Properties の代わりに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-parsers 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 から) にアップデート。サクソニカに感謝
  • 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 による報告 (stefan at trilobyte-se.de)
  • バグ 62744 - jquery をバージョン 3.3.1 に、jquery-ui を 1.12.1 に、bootstrap を 3.3.7 にアップグレードする
  • バグ 62821 - プル リクエスト #405 - MD5 の代わりに SHA-512 チェックサムを使用して、jar のダウンロードを検証する
  • バグ 63053 - 実装されていない内部構造への参照をユーザー ドキュメントから削除します。U. Poblotzki による報告 (u.poblotzki at thalia.de)
  • バグ 63082 - プル リクエスト #437 - ソース内のプロパティ ファイルに utf-8 を使用する
  • バグ 63177 - ドキュメントで NON 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 - 多くの jar がuser.classpathによって参照されるフォルダーにある場合、JUnit が原因で起動が非常に遅くなる可能性があります
  • バグ 63031 - 正しくない JDBC ドライバー クラス: org.firebirdsql.jdbc.FBDrivery。Sonali による寄稿 (gmail.com の arora.sonali99)

コントローラー

  • バグ 62806 - Run による ModuleController のクローン作成は、GUI モードか非 GUI モードかで異なる動作をします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62847 - Controller が LoopController/WhileController/ForEachController によって公開されたインデックスに変数を使用できない場合
  • バグ 63064 - IfController で使用される式の末尾と先頭のスペースを無視する

リスナー

  • バグ 62770 - 集計グラフがArrayIndexOutOfBoundsExceptionをスローする
  • バグ 63069 - 記録またはテストの実行中にユーザーが終了すると、ResultCollector は XML ファイルの末尾を書き込みません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 63138 - InfluxDB BackendListenerClient: エラーの場合、ログはデバッグ中です。エラーになるはずです

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 62774 - XPath2Extractor: Scope 変数が壊れています。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62860 - JSON Extractor:変数が見つからない場合、 NPE とノイズの多いエラー メッセージ " Error processing JSON content in " を回避します

機能

I18N

レポート/ダッシュボード

  • バグ 62777 - Web レポート / ダッシュボード:応答時間のパーセンタイルをすべて非表示にする (成功した応答)が失敗します。
  • バグ 62780 - Web レポート / ダッシュボード:応答時間と要求ですべてを表示できません。
  • バグ 62781 - Web レポート/ダッシュボード:応答時間の概要ですべてを表示できません。
  • バグ 62782 - Web レポート/ダッシュボード: 重複/未使用の依存関係を削除
  • バグ 62894 - レポート / ダッシュボード: スループットが間違った列にあり、単位がミリ秒であるためわかりにくい
  • バグ 63016 - ソース csv に引用符付きのラベルが含まれている場合、空の HTML レポート。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

ドキュメンテーション

  • コンポーネント リファレンス ドキュメントで、テスト アクション(旧名) をフロー制御アクションに変更します。Ori Marko (orimarko at gmail.com) による寄稿

全般的

  • バグ 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 - Apply Naming Policy は複数選択を許可しますが、最初のノードのみを考慮します
  • バグ 63090 - CVE-2018-8088 により slf4j-ext を削除

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Oleg Kalnichevski (apache.org の olegk)
  • ノイナストまで (https://github.com/tilln)
  • Mingun (mail.ru の alexander_sergey)
  • Ubikロードパック
  • Artem Fedorov (blazemeter.com の artem.fedorov)
  • Stefan Seide (trilobyte-se.de の stefan)
  • 刘士 (liushilive at outlook.com)
  • Michael Pavlov (gmail.com の michael.paulau)
  • Ori Marko (orimarko at gmail.com)
  • パコ (daocloud.io の paco.xu)
  • Hitesh Patel (gmail.com の hitesh.h.patel)
  • ソナリ (gmail.com の arora.sonali99)
  • モハメド・イブラヒム (gmail.com の rollno748)
  • U. Poblotzki (thalia.de の u.poblotzki)
  • サクソニカ

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。

バージョン 5.0

概要

新しくて注目に値する

コアの改善

多くの分野で休息サポートが改善されました

  • Multipart/form-data リクエストがPUTDELETE …で機能するようになりました
  • ファイルを添付してJSON Bodyを送信することも可能になりました
  • [パラメーター] タブに入力されたパラメーターは、無視される代わりに本文で使用されるようになりました

分散テストでは、JMeter はスレッド名にエンジンのホストとポートのプレフィックスを自動的に付けるようになりました。これにより、以前は必要だった他の構成を行わなくても、HTML レポートでスレッドのカウントが正しくなります。

XPath2 エクストラクタと呼ばれる新しい要素で XPath 2.0 がサポートされ、より簡単な XML 名前空間の処理、最新の XPath 構文、およびより優れたパフォーマンスが提供されます。

HTTP コンポーネント 4.6 の最後の API へのアップグレードが完了し、JMeter はこのライブラリの非推奨の API に依存しなくなりました

ループの中断と次の反復へのループの切り替えをより簡単な方法で制御できるようになりました。これは、フロー制御アクションおよび結果ステータス アクション ハンドラ要素 で使用できます。

Controller は__jm__<Name of your element>__idxという名前の現在のインデックスを含む変数をエクスポートします。たとえば、While コントローラーの名前が WC の場合、${__jm__WC__idx}を介してループ インデックスにアクセスできます。

スクリプティング / デバッグの強化

検索機能が改善され、ツリー内で検索結果を反復処理し、[次へ]、 [へ]、 [置換] 、[置換]、[検索]ボタン を使用して必要な置換を実行できるようになりました

結果ツリーの表示では、リクエストとレスポンスのヘッダー/ボディが明確に分離されているため、リクエストとレスポンスをよりよく調べることができます。これらすべてのタブで特定の値を検索することもできます

記録機能が改善され、ブラウザーでナビゲートするときに常に上部にポップアップが表示されるようになり、アプリケーションでナビゲートしながらトランザクションに名前を付けることができます。

メニューの[ファイル]  →  [再起動] から JMeter を再起動できるようになりました

ライブレポートと Web レポート

レポート機能が強化されました

1 秒あたりの新しいグラフ合計トランザクション数が HTML Web レポートに追加されました

sample_variablesを介して JMeter 変数として使用できるカスタム メトリックを経時的にグラフ化できるようになりました。これらのカスタム メトリック グラフは、[カスタム グラフ] セクションの HTML レポートで利用できます。

1 秒あたりのヒット数のグラフに、埋め込みリソースが考慮されるようになりました

ライブ レポートでは、送受信されたバイトがバックエンド (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は廃止され、使用されなくなりました。
  • 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 は、1 秒あたりのヒット数グラフにリソースのダウンロードが含まれるようにするための数字です 。Bug 62550 Bug 62470および Bug 60917を参照してください。

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 62260 - Rest サポートを改善します。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でのみ機能しますが、 PUTDELETEなどでは機能するはずです。 Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62317 - HTTP(S) テスト スクリプト レコーダー: 作成したサンプラーに ResultSaver を追加できるようにする

その他のサンプラー

  • プル リクエスト #376 - JUnitSampler は、テスト ケースからの assertion-failures を除く例外を警告としてログに記録します。Davide Angelocola による寄稿 (davide.angelocola at fisglobal.com)
  • バグ 62244 -テスト アクションの名前をフロー制御アクションに変更
  • バグ 62302 - JSR223 サンプラーをメニューの上に移動します。Ori Marko (orimarko at gmail.com) による寄稿
  • バグ 62595 - SMTPSampler では、ハンドシェイクで使用する SSL/TLS プロトコルを構成できません。Felipe Cuozzo (gmail.com の felipe.cuozzo) による寄稿

コントローラー

  • バグ 62237 - While コントローラー: 反復の現在のインデックスを含む変数をエクスポートします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

リスナー

  • バグ 62195 - 応答をファイルに保存: コンポーネントと UI を改善します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62209 - InfluxBackendListenerClient: エラー コードと応答コードが空または OK の場合、最初のアサーション失敗メッセージを送信する必要がある
  • バグ 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 Extractor の名前を CSS Selector Extractor に変更します。Ori Marko (orimarko at gmail.com) による寄稿

機能

  • バグ 62178 - __V関数 にデフォルト値を追加。Ori Marko (orimarko at gmail.com) による寄稿
  • バグ 62178 - 関数__threadGroupName関数を追加して、ThreadGroup 名を取得します。主に Ori Marko (orimarko at gmail.com) による寄稿
  • バグ 62533 - 関数__dateTimeConvert で日付文字列値としてエポック時間を使用できるようにする
  • バグ 62541 - __jexl3__jexl2関数が新しい構文をvar x としてサポートできるようにします。. Ori Marko (orimarko at gmail.com) による寄稿
  • バグ 61834 - Function Helper Dialog : 変数を表示し、評価間でそれらを利用できるようにすることで、テストを改善します

I18N

レポート/ダッシュボード

  • バグ 62243 - ダッシュボード : make オプション " --forceDeleteResultFile "/" -f " オプション " -o " オプションで参照されるフォルダーを削除する
  • バグ 62367 - HTML レポート ジェネレーター: 1 秒あたりの合計トランザクション数のグラフを追加します。主にマーサ・ラックス (laks.martha at gmail.com) による寄稿
  • バグ 62166 - レポート/ダッシュボード: JMeter ダッシュボードにカスタム グラフとメトリックを登録する機能を提供します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62542 - レポート/ダッシュボード: グラフが空の場合、フィルターに関する詳細情報を表示します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62426 - レポート生成のパフォーマンスを最適化します。Allen (qq.com の 444104595) によるフィードバックに基づく
  • バグ 62550 - SubResult ネーミング ポリシーの変更
  • バグ 60917 - リソースのダウンロードが埋め込まれたロード テスト: 1 秒あたりのヒット数で、ダウンロードされたリソースが考慮されない

全般的

  • バグ 62684 - Distributed Testing : エンジンを識別するためのプレフィックスをスレッド名に自動的に追加します。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 - jsr223.init.fileを導入して、JMeter の起動時に JSR-223 スクリプトを呼び出せるようにする
  • バグ 62128 - jmeter.bat が別のディレクトリのバッチ ファイルから呼び出された場合、JMETER_HOME を正しく推測してください。logox01 による寄稿 (gmx.at の logox01)
  • プル リクエスト #386 - RMI キーストア作成スクリプトのパラメーター サポートを追加します。Logan Mauzaize による寄稿 (t524467 at airfrance.fr)
  • バグ 62065 - 組み込みモジュールの代わりに JAF モジュールに Maven アーティファクトを使用する
  • バグ 61714 - リアルタイム結果のドキュメントを更新
  • プル リクエスト #382 - ドキュメントのタイプミスを修正。Perze Ababa による報告 (perze.ababa at gmail.com>)
  • プル リクエスト #392 - ドキュメントのタイプミスを修正。アーロン・レビンによる報告
  • プル リクエスト #379 - 中国語の翻訳を改善します。XmeterNet による寄稿

機能以外の変更

  • プル リクエスト #358 プル リクエスト #365 プル リクエスト #366 プル リクエスト #375 - 最新の checkstyle (v8.8) に更新。Checkstyle をsrcおよびtest内のファイルに拡張しました。新しくチェックされたファイルを修正しました。Graham Russell (graham at ham1.co.uk) の寄稿に基づく
  • バグ 62095 - Boundary Extractor の右境界パラメーターの正しい説明。Ori Marko (orimarko at gmail.com) による寄稿
  • バグ 62113 - 最新の Bouncycastle (v1.60) に更新。Olaf Flebbe (oflebbe at apache.org) による寄稿に基づく
  • バグ 62171 - .md5 チェックサムを削除、ソースおよびバイナリ アーカイブの.sha512チェックサムのみを保持する
  • groovy-all-2.4.15 に更新 (groovy-all-2.4.13 から)
  • asm-6.1 に更新 (6.0 から)
  • tika-core および tika-parsers 1.18 に更新 (1.17 から)
  • バグ 62482 - ForEachController の実装にドキュメントを同期します。Ori Marko (orimarko at gmail.com) による寄稿に基づく
  • バグ 62529 - (httpclient 4.5.5 から) httpclient-4.5.6 に更新され、(freemarker-2.3.23 から) freemarker-2.3.28 に更新されました。Ori Marko (orimarko at gmail.com) によるパッチに基づく
  • httpmime-4.5.6 に更新 (httpmime-4.5.5 から)
  • (カフェイン 2.6.1 から) カフェイン 2.6.2 に更新
  • 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) Test Script Recorder : クライアント証明書の認証で、最初に作成された SSLManager が使用されます。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61058 - HTTP リクエスト: オプションhttpclient4.deflate_relax_modeを追加して、無効なストリームと思われるものを圧縮するときに「ZLIB 入力ストリームの予期しない終了」を回避します。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 が生成されたヘッダー マネージャーから承認を削除する

その他のサンプラー

  • バグ 62235 - Java 9 - org.apache.jmeter.util.HostNameSetter による不正なリフレクション アクセス
  • バグ 62464 - 初期化が失敗した場合でも、JMS パブリッシャー サンプラーで開始時間と終了時間を設定します。
  • バグ 62616 - FTPSampler: アップロード ファイル サイズが sentBytes にカウントされない

コントローラー

リスナー

  • バグ 62097 - 新しいデータが到着した場合にのみ、集計レポートの JTable を更新します。そうすれば、行の選択がより長く保持されます。
  • バグ 62203 - Influxdb BackendListener クライアント: ユーザー タグを注釈と内部トランザクションに保存します。Sergey Batalin による寄稿 (mail.ru の sergey_batalin)
  • バグ 62251 - ネットワーク エラーが発生した場合、TextGraphiteMetricsSender が失われた接続を無効にしない
  • バグ 60705 - 列が移動されたときの集計レポートとフレンドのヘッダーを修正します。
  • バグ 62463 - 分散クライアント/サーバーのセットアップ: SSL を使用する場合、リモート オブジェクトに異なる RMI ポートを使用する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 61664 - HTTP Authorization Manager : Digest はレガシーRFC 2069でのみ機能し、RFC 2617は実装されていません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62252 - HTTP ヘッダーのマージ ロジックがドキュメントに対応していない
  • バグ 62554 - BoundaryExtractor : チェックするフィールドがリセットされない
  • バグ 62553 - プロパティ「Per thread user (User)」が TRUE に設定されていても、Random 要素が同じ値を返す場合がある
  • バグ 62637 - 同期タイマーの遅延を計算するときにスケジューラーを考慮に入れる

機能

I18N

  • バグ 62310 - Precise Throughput Timer ラベルのフランス語訳

レポート/ダッシュボード

  • バグ 62333 - レポート ダッシュボード - 1 つの系列に値が含まれていない場合、グラフの色のロジックが正しくありません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 62283 - レポート ダッシュボード - 粒度が 1 日以下の場合、チャートに日付が正しく表示されない
  • バグ 62520 - 「レイテンシー対リクエスト」グラフのポイントにカーソルを合わせたときのツールチップ テキストは「中央値レイテンシー」である必要があります

ドキュメンテーション

  • バグ 62211 - HTTP リクエスト サーバーのドキュメントを修正します。Ori Marko (orimarko at gmail.com) による寄稿
  • プルリクエスト #388 - タイプミスを修正。Giancarlo Romeo (gmail.com の giancarloromeo) による寄稿

全般的

  • バグ 62107 - JM_LAUNCHにスペースが含まれている と、Windows で JMeter を起動できない
  • バグ 62110 - 壊れた JUnit クラス (依存関係がないため) により、JMeter メニューが壊れます。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • プル リクエスト #377 - ドキュメントの小さな修正。寄稿者: Peter Doornbosch (peter.doornbosch at luminis.eu)
  • バグ 62124 - 記録テンプレート: 除外を追加し、デフォルトでトランザクション名を使用する
  • バグ 62127 - FileEditor でファイル名をファイルではなく文字列として保存します。これにより、たとえば CSV Data Set Config で使用される場合に、Unix スタイルのパス区切り文字から Windows スタイルへのファイル名の変換が防止されます。
  • バグ 56150 - メニュー項目をスクロールするとき、インデックスを正しく保持します。
  • バグ 62240 - SampleMonitor 実装が TestBean の場合、正しく初期化されない
  • バグ 62295 - 複数の要素の選択を複製するときの要素の正しい順序。
  • バグ 62397 - JSON パス テスターを使用する場合、コンマで改行しない
  • バグ 62281 - MapProperty で NPE を防止します。belugabehr によるパッチ (gmail.com の dam6923)
  • バグ 62457 - ユーザーマニュアルの UUID 関数の例が間違っています。helppass による寄稿 (hotmail.com でおねがいします)
  • バグ 62478 - GUI 関数ヘルパーで関数文字列を作成するときに、パラメーターのカンマをエスケープします。blue414 による報告 (blue414 at 163.com)
  • バグ 62463 - client.rmi.localportが分散実行用に設定されている場合のポートの使用法を修正します。
  • バグ 62545 - RenderAsJSON で JSON をインデントするときに、「タブ」文字列の一部としてコロンを使用しないでください。
  • バグ 62637の一部- TimerService#adjustDelay で非常に大きな値を処理するときの整数オーバーランを回避
  • バグ 62683 - ユーザーが完全に無効なテスト計画を開くと、エラー ダイアログにテキストが表示されません。

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • Ori Marko (orimarko at gmail.com)
  • Davide Angelocola (davide.angelocola at fisglobal.com)
  • Ubikロードパック
  • Olaf Flebbe (apache.org の oflebbe)
  • Peter Doornbosch (peter.doornbosch at luminis.eu)
  • logox01 (gmx.at の logox01)
  • Sergey Batalin (mail.ru の sergey_batalin)
  • XMeter
  • Imane Ankhila (ahlane.net の iankhila)
  • jffagot05 (gmail.com の jffagot05)
  • Perze Ababa (gmail.com の perze.ababa)
  • マーサ・ラックス (gmail.com の laks.martha)
  • Logan Mauzaize (t524467 at airfrance.fr)
  • belugabehr (gmail.com の dam6923)
  • Giancarlo Romeo (gmail.com の giancarloromeo)
  • helppass (hotmail.com でおねがいします)
  • blue414 (163.com の blue414)
  • アーロン・レヴィン
  • アレン (qq.com で 444104595)
  • Felipe Cuozzo (gmail.com の felipe.cuozzo)
  • bangnab (gmail.com の ambrosetti.nicola)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。

バージョン 4.0

概要

新しくて注目に値する

コアの改善

JMeter が JAVA 9 をサポートするようになりました。

より優れたパフォーマンスで簡単な抽出を提供する 新しい境界抽出要素が利用可能

JSON 応答でアサートするために使用できる 新しいJSON アサーション要素。

指定された一定のスループットでポアソン到着を生成する 、新しい正確なスループット タイマー要素が使用可能になりました。

JMS Point-to-Point サンプラーは、readbrowseclearオプションで拡張されました。

ベスト プラクティスがデフォルトになるように、多くのテスト要素で最適なプロパティ値が選択されるようになりました。

  • 新しく追加されたIf Controllerは、最もパフォーマンスの高いオプションである Expression をデフォルトで使用するようになりました。
  • 新しく追加された JSR223 テスト要素は、使用する言語がこの機能を提供する場合、デフォルトでコンパイル済みスクリプトをキャッシュするようになりました。

ループ コントローラーForEach コントローラー は、現在の反復を__jm__<Name of your element>__idxという名前の変数として公開するようになりました。これは、たとえばMyLoopControllerという名前のループ コントローラーに対して次のように使用できます。

${__jm__MyLoopController__idx}
. バグ 61802を参照

記録中に Cookie が結果ツリーの表示に表示されるようになりました。以前は常に空として表示されていました。

応答アサーションでは、アサーション メッセージをカスタマイズし、要求データでアサートできるようになりました。

UX の改善

JMeter はデフォルトでDarcula LAFを使用するようになりました

Workbench は UI から削除され、非テスト要素をテスト計画の直接の子として使用できるようになりました。

メニュー UX が改善され、最も使用される要素がより迅速に利用できるようになりました。

HTTP(S) Test Script Recorder では、より人間が読める方法で記録しながら、トランザクションに名前を付けることができるようになりました。

最も注目すべきものの中で、UXの改善が行われました:

  • Module Controller は、少なくとも 1 つの Controller が必要であることをユーザーに通知します
  • 関数ヘルパー ダイアログ (関数の使用とテストを支援するウィザード) は、多くの分野で改善されました。
  • 名前の前後にスペースが挿入された場合の問題を回避するために、スイッチ コントローラーはテキストをトリミングします。
  • テスト計画は、テスト計画を実行する前に保存されるようになりました

機能

新しい関数__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 リポジトリに配布するようになりました

プラグインは、テスト計画が開かれたり閉じられたりしたときに通知されるリスナーを登録できるようになりました

ライブレポートと Web レポート

InfluxDB バックエンド リスナーで、接頭辞 TAG_ を付けてカスタム タグを追加できるようになりました 。Bug 61794を参照してください

Web レポートの responseTime 分布グラフはより正確です

レポート生成に関するいくつかのバグ修正が行われました。Bug 61900 Bug 61900 61956 、 Bug 61899 を参照してください。 バグ 61962が原因で、遅延対リクエストおよび応答時間対リクエストのグラフが 1000 RPS を超えなかった

JMeter 環境の構成

JMeter 起動スクリプトの JVM 設定は、起動時に呼び出される別のファイル ( Unix ではbin/setenv.shおよび Windows ではbin\setenv.bat ) に配置できます。起動スクリプト自体を編集する必要はなくなりました。

互換性のない変更

  • スレッド グループの開始時刻終了日が削除されました 。Bug 61549を参照してください。
  • 分散テストでは、モードホールドが削除されました。代替のより効率的なモードを使用する
  • サードパーティのプラグインの場合、org.apache.jmeter.gui.tree.JMeterTreeNodeののメソッドは、Java 9 への移行のために削除されました ( バグ 61529 ) 。
    public Enumeration<JMeterTreeNode> children()
  • ティアダウン スレッド グループは、デフォルトでテストの停止およびシャットダウン時に実行されるようになりました。この動作を望まない場合は、テスト計画要素のメイン スレッドのシャットダウン後に、TearDown スレッド グループを実行するのチェックを外します。Bug 61656を参照してください。
  • プロパティsampleresult.getbytes.headers_sizeおよびsampleresult.getbytes.body_real_sizeが削除されました。Bug 61587 を参照して ください
  • JMeter は、実行するたびにテスト計画を保存するようになりました。この動作はプロパティsave_automatically_before_runで制御できます。Bug 61731を参照してください
  • Workbench 要素が削除されたので、テスト計画の子として非テスト要素を直接追加します。要素を含むテスト計画をロードすると、JMeter はMirror ServerProperty Display、および HTTP(s) Test Script Recorder要素をテスト計画の直接の子として移動します。その他の要素については、Workbench Test Fragmentという名前のTest Fragment要素を作成し、その中の要素を移動します。
  • 次のクラスが削除されました ( org.apache.jmeter.functions.util.ArgumentEncoderorg.apache.jmeter.functions.util.ArgumentDecoder )。 プル リクエスト #335を参照してください。
  • JMS Point-to-Point サンプラーで、タイムアウトを 0 に設定すると、以前は 2000 ミリ秒に切り替えられていましたが、無限のタイムアウトを意味するようになりました。 バグ 61829を参照してください。
  • アサーションが異なるスコープにある場合、それらは最も外側のものから最も内側のものへと実行されます。 バグ 61846を参照してください。
  • JMeter は、デフォルトで英語ロケールを使用して起動するようになりました。この変更は、サポートされている多くの言語で翻訳が欠落しているためです。jmeter および jmeter.bat (またはできれば setenv.sh/setenv.bat) でJVM_ARGSシステム プロパティ値を変更することにより、ロケールを変更できます。また、サポートされている言語への翻訳を提供していただけると非常にありがたいです。
  • SwitchController は、不要なスペースに関連する問題を回避するために、デフォルトで switch のコンテンツをトリミングするようになりました。 バグ 61771を参照してください。
  • JMeter JVM ヒープ設定が-Xms512m -Xmx512m から -Xms1g -Xmx1g変更されました
  • Beanshell バージョンが bsh-2.0b6 にアップグレードされ、重大な変更とより厳密な解析規則が導入されました

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • プル リクエスト #316 - 空のトラストストアの読み込みについて警告します。Vincent Herilier による寄稿 (https://github.com/vherilier)
  • バグ 61639 - HTTP(S) テスト スクリプト レコーダー: リクエスト フィルタリング タブで、デフォルトで「フィルタリングされたサンプラーの子リスナーに通知する」のチェックを外します
  • バグ 61672 - HTTP(S) Test Script Recorder: プレフィックスを追加する機能を維持しながら、サンプラー名を選択する機能があります
  • バグ 53957 - HTTP リクエスト: [パラメーター] タブで、Firefox および Chrome (未解析) からのコンテンツの貼り付けを許可する
  • バグ 61587 - プロパティsampleresult.getbytes.headers_sizeおよびsampleresult.getbytes.body_real_sizeを削除
  • バグ 61843 - HTTP(S) テスト スクリプト レコーダー: JMeter が生成した CA 証明書に SAN を追加します。マシュー・バケットによる寄稿
  • バグ 61901 - https.cipherSuitesシステム プロパティのサポート。Jeremy Arnold による寄稿 (jeremy at arnoldzoo.org)

その他のサンプラー

  • バグ 61544 - JMS Point-to-Point Sampler: 読み取り、参照、クリアで通信スタイルを強化します。Benny van Wijngaarden (benny at smaragd-it.nl) による寄稿に基づく
  • バグ 61829 - JMS ポイントツーポイント: 受信キューが空で、タイムアウトが設定されている場合、それは考慮されません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61739 - Java Request / JavaSamplerClient: org.apache.jmeter.protocol.java.sampler.JavaSamplerContextの改善
  • バグ 61762 - Start Next Thread ループはどこでも使用する必要があります

コントローラー

  • バグ 61675 - If Controller: デフォルトで式を使用し、他のモードが使用されている場合は警告を追加します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61770 - モジュール コントローラー: プランに少なくとも 1 つのコントローラーが必要であることを UI でユーザーに通知します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61771 - SwitchController: 安全のためにスイッチ フィールドをトリミングする必要があります

リスナー

  • バグ 57760 - 結果ツリーの表示: レコーダーのサンプル結果を表示すると、Cookie ヘッダーが誤って空 (Cookie なし) として表示されます。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 - AtlanBH JSON パス アサーションに基づく新しいコンポーネント JSON アサーションは、JMeter-Plugins に提供され、Artem Fedorov (artem at blazemeter.com) によって JMeter コアに移行されました
  • バグ 61931 - 新しいコンポーネント: 正確なスループット タイマー、特定の一定のスループットでポアソン到着を生成するタイマー。Vladimir Sitnikov (sitnikov.vladimir at gmail.com) による寄稿
  • バグ 61644 - HTTP キャッシュ マネージャー: 「GET 要求の処理時に Cache-Control/Expires ヘッダーを使用する」をデフォルトでチェックする必要があります
  • バグ 61645 - 応答アサーション: 要求データでアサートする機能を追加
  • バグ 51140 - 応答アサーション: アサーション結果に後で表示される特定のエラー/失敗メッセージを設定する機能を追加します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61534 - AssertionError を失敗したアサーションに変換し、ユーザーがコードで assert を使用できるようにします。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 クラスを使用する) の 翻訳ボタンBrowse…
  • バグ 61747 - HTTP(S) Test Script Recorder: 不足しているドキュメントを「Create transaction after request (ms)」に追加

レポート/ダッシュボード

  • バグ 61871 - jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity のデフォルト値を 500 ミリ秒から 100 ミリ秒に減らします
  • バグ 61879 - HTML レポート テンプレートで不要なファイルを削除する

全般的

  • バグ 61591 - テスト ツリーから Workbench をドロップします。Artem Fedorov (blazemeter.com の artem) によって実装され、BlazeMeter Ltd によって提供されました。
  • バグ 61549 - スレッド グループ: 開始日と終了日を削除
  • バグ 61529 - Java 9 への移行。一部は Ubik Load Pack によって提供されました (ubikloadpack.com でサポート)
  • バグ 61709 - SampleResult: メソッドsetIgnore()を追加して、JMeter が SampleResult を無視し、リスナーに送信しないようにします。
  • バグ 61806 -ポストプロセッサおよびアサーション スクリプト (JSR223 要素) でSampleResult#setIgnore()を使用できるようにする
  • バグ 61607 - すべての BeanShell 要素に参照ボタンを追加して、BeanShell スクリプトを選択する
  • バグ 61627 - 警告/エラー インジケーターをクリックしたときに LogView をクリアしない
  • バグ 61629 - Add Think Times to Children メニューは、無効な要素を考慮すべきではありません
  • バグ 61655 - SampleSender: HoldSampleSender の実装を削除
  • バグ 61656 - テストの停止またはシャットダウン時に、tearDown スレッド グループがデフォルトで実行される必要がある
  • バグ 61659 - JMeterVariables#get()は非文字列オブジェクトにtoString()を適用する必要があります
  • バグ 61555 - デフォルトでメタスペースを制限する必要がある
  • バグ 61693 - JMeter が Docker を認識する ( -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap )
  • バグ 61694 - jmeter.batに-serverオプションを追加
  • バグ 61697 - Darcula ルック アンド フィールを導入して JMeter UI をより魅力的にする
  • バグ 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)
  • プル リクエスト #351 - 最初のビューでのダイアログの位置について修正しました。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #352 - メニュー バー - より多くのメニュー項目にニーモニックを追加しました。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #353 - Spock でいくつかの既存のテストを書き直しました。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 61919 - UX: メニューの並べ替え。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 61920 - プラグイン: テスト計画のロード/クローズをリッスンする機能を追加します。Peter Doornbosch による寄稿 (https://bitbucket.org/pjtr/)
  • バグ 61935 - プラグイン: メニューから追加できるかどうかを GUI コンポーネントが (動的に) 判断できるようにします。Peter Doornbosch による寄稿 (https://bitbucket.org/pjtr/)
  • バグ 61969 - GUI を使用して LAF を変更する場合、再起動する方がよいことをユーザーに通知する必要があります。
  • バグ 61970 - 一部のロケールで翻訳が失われて UI が奇妙に見えるのを避けるために、JMeter はデフォルトのロケールとして英語を使用するようになりました
  • バグ 56368 - ソース アーティファクトの作成と Maven セントラルへのデプロイ
  • バグ 61973 - javadoc アーティファクトを作成して Maven セントラルにデプロイする
  • プル リクエスト #371 - XPath アサーション のドキュメントの例を修正します。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-parsers 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 による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #322 - 一般的な JavaDoc のクリーンアップ。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #323 - 読みやすさを向上させるために抽出されたメソッドと使用されたストリーム。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #324 - バックアップ リファクタリングを保存します。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #327 - より最新の Java を利用して、コードを簡素化し、コードとコメントをフォーマットします。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #332 - Groovy ユニット テスト用の spock フレームワークを追加します。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #334 - デフォルトの構成で IntelliJ 内から JUnit テストを実行できるようにします。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #335 - functions.util.*を削除しました (長年使用されていないようです)。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 61867 - プル リクエスト #345 - 最新の checkstyle (v8.5) に更新し、checkstyle にさらに多くのルールを追加し、テスト ファイルのチェックとより多くのファイル タイプを含めました。Graham Russell による寄稿 (graham at ham1.co.uk)
  • プル リクエスト #350 - 並列化された単体テスト。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 61966 - jenkins でのテスト結果アナライザーのセットアップ
  • プル リクエスト #343 - ドキュメント内の一部の画像のサイズを縮小します。Graham Russell による寄稿 (graham at ham1.co.uk)

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 61569 - JMS Point-to-Point テスト計画: 返信を送信するときの同期の問題。Igor Panainte (gmail.com の panainte.i) による寄稿

その他のサンプラー

  • バグ 61698 - テスト アクション: 停止が選択されている場合、テスト アクションに続くサンプラーを実行できます
  • バグ 61707 - テスト アクション: 一時停止が選択されている場合、ターゲットは無視されるため、無効にする必要があります
  • バグ 61827 - JMSPublisher: ファイルの最後に新しい行を追加しないでください。Graham Russell による寄稿 (graham at ham1.co.uk)

コントローラー

  • バグ 61556 - IfController と groovyでの${}変数の使用 によるパフォーマンスへの影響をドキュメントで明確にします。Justin McCartney による寄稿 (be_strew at yahoo.co.uk)
  • バグ 61713 - テスト フラグメントには、コントローラーを変更して親を挿入するオプションがあります。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61965 - モジュールとインクルード コントローラーは、そのコンテキストに無意味な要素を追加することを許可してはなりません。
  • バグ 62062 - ThroughputController: スループット = 0 (実行の合計または実行の割合) の場合に StackOverFlowError がトリガーされる

リスナー

  • バグ 61742 - BackendListener: backend_graphite.send_interval のデフォルト値を修正
  • バグ 61878 - BackendListener: BackendListenerClient#getDefaultParameters が null を返す場合の NPE
  • バグ 61950 - 結果ツリーの表示: Content-Type audio/mpegurlが誤ってバイナリと見なされる

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 61716 - ヘッダー マネージャー: Firefox または Chrome からヘッダーを貼り付けると、値の最初の文字としてスペースが導入される

機能

  • バグ 61588 - __RandomDate()関数 のより良いログ メッセージ
  • バグ 61619 - Function Helper ダイアログで、最初の関数がデフォルトのパラメータを表示しない
  • バグ 61628 - 分割文字列に空のセパレータがある場合、デフォルトのセパレータは使用されません
  • バグ 61752 - __RandomDate : 関数は、変数名に使用される最後のパラメーターの欠落を許可しません

I18N

レポート/ダッシュボード

  • バグ 61807 - Web レポート: getTop5ErrorMetricsのエラーを修正。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 61900 - レポート ジェネレーター: セパレーターが|のような正規表現で予約された文字の場合、レポートの生成が失敗する
  • バグ 61925 - CsvSampleReader が nextSample() の行をインクリメントしません。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 61956 - レポートの生成: -forceDeleteResultFileオプションの-fが機能しません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61899 - レポートの生成: jmeter.save.saveservice.print_field_namesが false で、sample_variablesが設定されている場合、レポートの生成に失敗します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61962 - レイテンシ対リクエストおよび応答時間対リクエストのグラフが 1000 RPS を超えない。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

全般的

  • バグ 61661 -サードパーティの Thread Listener プラグインが RuntimeException をスロー することによる起動/シャットダウンの問題を回避する
  • バグ 61625 - CSVDataSet、JSR223、BSF、Beanshell 要素に影響を与えるすべての LAF で、BeanInfo で使用されるファイル エディタの動作がおかしくなる
  • バグ 61844 - Maven pom.xml: テストで使用されるライブラリにはスコープ test が必要です
  • バグ 61842 - 変更を加えずに保存すると、同一のバックアップ ファイルが保存され、複製されます。

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Igor Panainte (gmail.com の panainte.i)
  • エミリアン・ボールド (ami at apache.org)
  • Ubikロードパック
  • ジャスティン・マッカートニー (be_strew at yahoo.co.uk)
  • ヴィンセント・ヘリリエ (https://github.com/vherilier)
  • Aleksei Balan (gmail.com で abalanonline)
  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • gmail.com のオリマルコ
  • Artem Fedorov (blazemeter.com の artem)
  • ブレイズメーター株式会社
  • Benny van Wijngaarden (benny at smaragd-it.nl)
  • マシュー・バケット (https://github.com/buckett)
  • ヘリー・グオ (https://github.com/hellyguo)
  • ピーター・ドーンボッシュ (https://bitbucket.org/pjtr/)
  • Jeremy Arnold (arnoldzoo.org の jeremy)
  • Vladimir Sitnikov (sitnikov.vladimir at gmail.com)
  • Konstantin Kalinin (hotmail.com の kkalinin)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。

  • user7294900 on Stackoverflow (orimarko at gmail.com)

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。

バージョン 3.3

概要

新しくて注目に値する

JMeter はまだ Java 9 をサポートしていません。次の JMeter バージョンでサポートされる予定です 。Bug 61529でこの項目の進行状況を追跡できます。
JDK のバグに直面するのを避けるために、JAVA 8 の最後のマイナー バージョンを使用することをお勧めします。

コアの改善

HTTP Sampler が Brotli 解凍をサポートするようになりました。

CacheManager は Vary ヘッダーを完全にサポートするようになりました。

InfluxDB BackendListener は、UDP プロトコルを介した InfluxDB への結果の送信をサポートするようになりました。

また、トランザクションごとに応答コードとメッセージでエラーの数を送信するように強化されました

TCP サンプラーがレイテンシーを計算するようになりました 。Bug 60156を参照してください。

依存関係を利用可能な最後のバージョンにアップグレードして、パフォーマンスの向上とバグ修正を実現

コードとテスト範囲の品質を継続的に改善しました。品質レポートを見る

UX の改善

HiDPI をより適切にサポートするために、より多くの作業が行われました。

結果ツリーの表示のメモリ使用量を下げる作業に忍び込んだいくつかのバグが修正されました。

定数DEFAULT_IMPLEMENTATIONは CookieManager から削除されました。前回のリリースで代替 HTTP クライアント実装が削除されたことで目的が失われたためです。

JDBC Sampler UX は、ドライバーと検証クエリの選択ボックスを追加することで改善されました。

If Controller と While Controller の UX が改善された場合

レポート/ダッシュボードの改善

レポート生成の構成を簡素化するために、新しい [ヘルプ] メニュー項目が追加されました。

ドキュメントの改善

不明確なドキュメントに関するフィードバックを組み込みました。

機能

関数ヘルパー ダイアログ: 実行結果を示す新しいフィールドが追加されました。

新機能:

  • __timeShift - 指定された秒/分/時間/日を加算したさまざまな形式の日付を返します。
  • __RandomDate - 特定の日付範囲内でランダムな日付を生成します。

互換性のない変更

  • InfluxDbBackendListenerClient で、statutプロパティの名前がstatusに変更されました
  • CookieManager では、DEFAULT_POLICYおよびDEFAULT_IMPLEMENTATION定数が非公開になりました。
    HC3CookieHandler (< JMeter 3.1) 構成でignorecookiesを使用している場合は、構成がリセットされるので、必ず元に戻してください。
  • JMeter は、10 MB を超えるデフォルトの応答で切り捨てられなくなりました。この切り捨てを有効にする場合は、プロパティ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) が推奨されています。実装を更新してください。レイテンシを計算できるようにするには、 Bug 60156を参照してください

削除された要素または機能

改良点

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 データ セット構成: ファイル エンコーディング属性のメイン ファイル エンコーディング値のリストを追加

コントローラー

リスナー

  • バグ 61167 - InfluxdbBackendListener : 各トランザクションの応答コードとメッセージごとにエラー数を追加
  • バグ 61068 - プロパティresultcollector.action_if_file_existsを導入して、テスト開始時のポップアップ「ファイルは既に存在します」を制御します
  • バグ 61457 - InfluxDB バックエンド リスナー クライアント: UDP プロトコルを介した InfluxDB への結果の送信をサポートします。部分的に プル リクエスト #302に基づく - Junlong Wu (github id mybreeze77)

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

  • バグ 61040 - タイムシフト機能を追加
  • バグ 61126 - Function Helper ダイアログ: 実行結果を表示するフィールドを追加
  • バグ 61508 - 特定の日付範囲関数内にランダムな日付を追加する

I18N

  • バグ 61509 - Counter 要素の start および max ラベルのラベル/翻訳/ドキュメントの改善

レポート/ダッシュボード

  • バグ 61481 - Web レポートのトランザクションをエクスポートするためのヘルプ メニュー項目

全般的

  • ActionRouterでクラスを探すときは、 ActionRouterのロード元である jar の場所にフォールバックします。Emilian Bold 提供 (emi at apache.org)
  • バグ 61510 - 「JDBC 負荷テスト テンプレート」の「JDBC 接続構成」で「 接続の最大数」を0に設定する
  • バグ 61399 - 一部の bin および extras スクリプトを Shellcheck 互換にします。寄稿者 Wolfgang Wagner (internetwolf2000 at hotmail.com)

機能以外の変更

  • 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ヘッダー を囲む際に文字セットを設定しないでください。一部のサーバーを苛立たせます。
    文字セットは、http クライアントの新しい API を使用するようにリファクタリングしているときに追加されました。詳細については、 Bug 56141を参照 してください。
  • バグ 61456 - JMeter および奇妙な Basic Auth Authorization ヘッダーで記録すると、java.lang.ArrayIndexOutOfBoundsExceptionが発生する
  • バグ 61395 - サーバー応答の切り捨てが大きいと、記録に影響を与える可能性があります

その他のサンプラー

  • バグ 60889 - JMeter JDBC サンプルは、応答ヘッダーのConnection#toString呼び出しが原因で、MySQL JDBC でテストするときにSELECT USER()を呼び出します。
  • バグ 61259 - JDBC リクエスト : JMeter 3.0 以降、JDBC 自動コミットがfalseの場合、リクエストが実行されるたびにロールバック ステートメントが発生します。Liu XP (sina.com の liu_xp2003) によって一部寄稿されました。
  • バグ 61319 - リグレッションの修正: 添付ファイルが指定されていない場合、SMTP サンプラーはメールを送信できませんでした。

コントローラー

  • バグ 61375 - 静的ホスト テーブルのエントリを解決するときに、最後の手段としてシステム DNS リゾルバーを使用します。

リスナー

  • バグ 61005 - 結果ツリーの表示 - ブラウザの応答データがクリアされない
  • バグ 61121 - InfluxdbBackendListenerClient: KOOK ではなく、すべてのパーセンタイルのみが送信される
  • バグ 60961 - 新しい要素が追加されたときに、ビューの結果ツリーで選択および展開された要素のステータスを維持しようとしました。
  • バグ 61198 - インクルード スクリプトにもバックエンド リスナーが含まれている場合、メイン スクリプトでバックエンド リスナーが正しく動作しない
  • バグ 61493 - Graphite と InfluxDB バックエンド リスナーで最大/最小スレッドが入れ替わる

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 58743 - プル リクエスト #293 - 2 つ以上のインスタンスを使用している場合、TableEditor を保存できません。Emilian Bold (emi at apache.org) によって提供されたバグ修正
  • バグ 61314 - HTTP URL 書き換え修飾子は、http サンプラーの既存のjsessionidを置き換えませんが、最後に追加します
  • バグ 61336 - BeanShell アサーション: 中国語の翻訳の誤り

機能

  • バグ 61258 - 関数ヘルパー ダイアログで StringFromFile 関数が 2 回言及される
  • バグ 61260 - XPath チェッカーが一致を見つけたにもかかわらず、__XPath 関数が null を返す
  • バグ 58876 - TestPlanName 関数は、新しく保存されたテスト計画に対してnullを返し、以前に開いたものを新しいものに使用します

I18N

レポート/ダッシュボード

  • バグ 61129 - レポート/ダッシュボード: 応答コードが空で、failureMessageが存在する場合、エラーと上位 5 つのエラーは正確ではありません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 61151 - レポート/ダッシュボード: サンプラーおよびエラー別の上位 5 つのエラー: アサーションに html コードが含まれている場合、html 部分が非表示になる

全般的

  • バグ 60743 - テストを停止/シャットダウンすると、HTTPCORE-446 が原因でデッドロックが発生する可能性があり、HttpCore を 4.4.7 にアップグレードすることで修正されました
  • バグ 60994 - コメントまたはログ メッセージのタイプミスを修正します。 プルリクエスト #289 プルリクエスト #290 -
  • バグ 61011 - 置換回数が正しくない (パスとホストの置換が 2 回カウントされる)
  • バグ 61026 - プログラム "keytool" を実行できません: GUI モードで JMeter 3.2 を起動すると、CreateProcess エラー = 2
  • バグ 61054 -置換に正規表現が含まれていると、 JOrphanUtils#replaceAllWithRegex でエンドレス ループが発生する
  • バグ 60995 - HTTP テスト スクリプト レコーダー: 一部の L&F でポート フィールドが非常に小さい
  • バグ 61073 - HTTP(S) Test Script Recorder パネルに、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の previousGuiItems をクリアする必要があります

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Anass Benomar (umanis.com の abenomar、github の Mithrandir0407)
  • アンソニー・カーンズ (anthony.kearns atrightside.co)
  • エミリアン・ボールド (ami at apache.org)
  • 劉 XP (sina.com で liu_xp2003)
  • Ubikロードパック
  • Wolfgang Wagner (hotmail.com の Internetwolf2000)
  • Junlong Wu (github id mybreeze77)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。

  • 劉 XP (sina.com で liu_xp2003)
  • Alexander Podelko (yahoo.com の apodelko)

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム ( md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を 使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、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を 介して非同期 HTTP 呼び出しを使用して InfluxDB にデータを送信し 、注釈付きの次のグラフを提供します。
  • DNS Cache Manager に、静的ホスト解決を可能にするテーブルが追加されました。
  • JMS パブリッシャーとサブスクライバーは、エラー時に一時停止で再接続できるようになりました。
  • JMS パブリッシャーの変数は、すべてのタイプのメッセージでサポートされるようになりました。ファイルのエンコード タイプを追加して、コンテンツを解析します
  • XPath Extractor は、インデックスごと、またはすべての一致に対して、ランダムに抽出できるようになりました。
  • 応答アサーションがリクエスト ヘッダーで機能するようになり、"OR" の組み合わせが提供され、セル レンダラーが改善されました。
  • JMeter は、Rhino の代わりに Oracle Nashorn Javascript エンジンを使用するようになりました。これにより、Javascript の実行が高速化されます。
  • HTTP HC4 実装は、デフォルトで有効化されたプリエンプティブ Basic 認証を提供するようになりました
  • CSS に埋め込まれたリソースのダウンロードが改善され、リソースを見つけるための無駄な繰り返しの解析が回避されました。
  • Sonar がプロジェクトにセットアップされてから、コードの品質とテストによるコード カバレッジに関する重要な作業が行われました。ここでソナーレポートを見ることができます。

UX の改善

  • テストを実行するとき、GUI の応答性が向上し、メモリ使用量への影響が少なくなりました。これは、Sample Results リスナーが保持する数の制限と、GUI の更新方法の再調整のおかげです。
  • HTTP リクエスト GUI が簡素化され、パラメーターと本文の場所が増えました。
  • HTTP(S) Test Script Recorder が簡素化され、明確になりました。
  • 検索機能に置換機能が追加され、一部の要素を置換できるようになりました 。
    ReplaceAll は、すべての要素の置換を行うわけではありません。
    - HeaderManager: 値の置換
    - HTTP リクエスト: 引数、パス、およびホストの置換
  • View Results Tree は、JavaFX を必要とする最新の Browser レンダラーを提供するようになりました。
  • コンテキスト メニューから思考時間を追加できるようになりました。これにより、選択したノードのサンプラーとトランザクション コントローラー間の思考時間が追加されます。
  • ネーミング ポリシーをトランザクション コントローラーの子に適用できるようになりました。デフォルトのポリシーは存在しますが、org.apache.jmeter.gui.action.TreeNodeNamingPolicy とプロパティの Naming_policy.implを構成することで、独自のポリシーを実装できます。
  • 列ごとの並べ替えが、テーブル、概要レポート、集計レポート、および集計グラフ要素での結果の表示に追加されました。

レポート/ダッシュボードの改善

  • レポートを明確にするために統計が再編成されました。
  • 正規表現またはサンプル名に基づいて、トランザクションごとに APDEX しきい値をカスタマイズできるようになりました。以下の例では、サンプル sample(\\d+)、sampleA、および scenarioB に、宣言されたデフォルトのしきい値 (500 および 1500) とは異なるしきい値が適用されます。
    jmeter.reportgenerator.apdex_satisfied_threshold=500
    jmeter.reportgenerator.apdex_tolerated_threshold=1500
    jmeter.reportgenerator.apdex_per_transaction=sample(\\d+):1000|2000;\
        サンプルA:3000|4000;\
        シナリオB:5000|6000
    

ドキュメントの改善

  • PDF ドキュメントは移行され、HTML ユーザー マニュアルに更新されました。

互換性のない変更

  • JMeter を実行するには、少なくとも Java 8 バージョンが必要です。
  • JMeter ロギングは SLF4J および Log4j 2 に移行されました。これには、構成方法の変更が含まれます。JMeter は現在 、ファイルlog4j2.xmlの標準のLog4j 2 構成に依存しています。詳細については、以下の「変更のログ記録 」セクションを参照してください。
  • 次の jar は、LogKit から SLF4J への移行後に削除されました ( Bug 60589を参照)。
    • ApacheJMeter_slf4j_logkit.jar
    • avalon-framework-4.1.4.jar
    • commons-logging-1.2.jar
    • エクスカリバー-ロガー-1.1.jar
    • logkit-2.0.jar
  • commons-httpclient-3.1.jarは、HC3.1 サポートのドロップ後に削除されました ( Bug 60727を参照) 。
  • JMeter は、セキュア ランダムのアルゴリズムを-Djava.security.egd=file:/dev/urandomで設定するようになりました
  • Process Sampler は、エラーが発生したときにエラー コード 500 を返すようになりました。以前は空の値が返されていました。
  • org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImplでは、 2 つの保護された静的フィールド ( localhostおよびnonProxyHostSuffixSize ) が、静的フィールドの命名規則に従うために ( LOCALHOSTおよびNON_PROXY_HOST_SUFFIX_SIZE ) に名前が変更されました。
  • JMeter は、パフォーマンスを向上させるために、Mozilla Rhino の代わりにデフォルトで Oracle Nashorn エンジンを使用するようになりました。いくつかの高度な機能を使用しない限り、これは影響を与えません。プロパティjavascript.use_rhino=trueを設定することで、Rhino に戻すことができます。Nashorn の詳細については、この移行ガイドを参照してください。 バグ 60672を参照してください
  • バグ 60729 - Random Variable Config 要素で、最小==最大が許可されるようになりました。以前のバージョンでは、minimum==maximum の場合にエラーがログに記録され、構成された変数が設定されていませんでした。
  • バグ 60730 - JSON パスが 1 回しか一致しない場合でも、JSON PostProcessor は_ALL変数を設定するようになりました ( Compute concatenation varがチェックされていると仮定)。この場合、以前のバージョンでは_ALL変数が設定されませんでした。

削除された要素または機能

  • SOAP/XML-RPC リクエストは Bug 60727の一部として削除されました。代わりに HTTP Request 要素を使用します。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構成ファイルで定義されます。

Groovy コードまたは Beanshell からプログラムでレベルを変更する必要がある場合は、次の操作を行う必要があります。
    org.apache.logging.log4j.core.config.Configurator をインポートします。
    ⋮
    最終文字列 loggerName = te.getClass().getName(); // JMeter クラスであること
    Configurator.setAllLevels(loggerName, Level.DEBUG);
    

サードパーティのプラグインのログへの変更

サードパーティのプラグインは、ロギング コードを logkit から slf4j に移行する必要があります。これはかなり簡単で、次のように置き換えることで実行できます。
        org.apache.jorphan.logging.LoggingManager をインポートします。
        org.apache.log.Logger をインポートします。
        ⋮
        private static final Logger ログ = LoggingManager.getLoggerForClass();
    
に:
        org.slf4j.Logger をインポートします。
        org.slf4j.LoggerFactory をインポートします。
        ⋮
        private static final Logger log = LoggerFactory.getLogger(YourClassName.class);
    

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 59934 - CssParser の競合状態を修正します。Jerome Loisel (loisel.jerome at gmail.com) によるパッチに基づく
  • バグ 60543 - HTTP リクエスト / Http リクエストのデフォルト UX: 詳細パネルのタイムアウト、実装、プロキシに移動します。Philippe Mouawad (ubik-ingenierie.com の p.mouawad) によって実装され、Ubik Load Pack (ubikloadpack.com でサポート) によって提供されました。
  • バグ 60548 - HTTP リクエスト: 上部パネルの折りたたみを許可する
  • バグ 57242 - HttpClient4 で HTTP 認証が事前に設定されていない
  • バグ 60727 - commons-httpclient-3.1 および関連要素を削除します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60790 - HTTP(S) Test Script Recorder : 証明書の有効期限に関する情報を改善し、開始/停止の UX を改善しました
  • バグ 60888 - HttpRequest : 非べき等 HTTP メソッドを含むすべてのリクエストの再試行を許可するオプションを追加
  • バグ 60896 - HTTP(S) テスト スクリプト レコーダー: 画面上のプロパティの数を減らすことで UX を改善

その他のサンプラー

  • バグ 60740 - プル リクエスト #241 に基づいて、すべての JMS メッセージ (バイト、オブジェクトなど) とソース (ファイル、フォルダー) の変数をサポートします 。Maxime Chassagneux (gmail.com の maxime.chassagneux) による寄稿。
  • バグ 60585 - JMS パブリッシャーと JMS サブスクライバー: エラー時の再接続とエラー間の一時停止を許可します。 プル リクエスト #240に基づく - Logan Mauzaize (logan.mauzaize at gmail.com) および Maxime Chassagneux (maxime.chassagneux at gmail.com) によるものです。
  • プル リクエスト #259 - - SmtpSampler のリファクタリングと再フォーマット。Graham Russell による寄稿 (graham at ham1.co.uk)

コントローラー

  • バグ 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 : Influxdb BackendListenerClient 実装を JMeter に追加します。 一部プル リクエスト #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 パス テスター、RegExp テスター、および CSS/JQuery テスター) では、上部パネルが大きすぎてサイズを変更できないため、下部パネルが表示されない場合があります
  • バグ 60687 - 多くのイベントを受け取ったときの GUI の応答性を高めます。
  • バグ 60791 - 結果ツリーの表示: 検索機能の Enter キーで検索をトリガーし、一致しない場合は赤い背景を表示する
  • バグ 60822 - ResultCollector がファイル HashMap 内の一意のファイル名エントリを保証しない

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 60154 - ユーザー パラメータ GUI: 行をリスト内で上下に移動できるようにします。Murdecai777 (https://github.com/Murdecai777) による寄稿。
  • バグ 60507 - ResponseAssertion に「Or」関数を追加しました。忻隆 (298015902 at qq.com) からの寄稿に基づく
  • バグ 58943 - より良い思考時間エクスペリエンスを作成します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60602 - XPath Extractor : Match No. を追加して、ランダム、インデックス、またはすべての一致による抽出を可能にします
  • バグ 60710 - XPath エクストラクタ : アサーションが適用されるコンテンツが XML でない場合、結果ツリーの表示で、エクストラクタが赤でマークされ、SAXParseException という名前が付けられます。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60712 - 応答アサーション: パターンのレンダラーを改善
  • バグ 59174 - 静的ホストを含​​むテーブルを DNS キャッシュ マネージャーに追加します。これにより、HttpClient4 を使用したより優れた仮想ホストのテストが可能になります。

機能

I18N

  • フランス語の翻訳「save_as」を改善しました。Maxime Chassagneux (gmail.com の maxime.chassagneux) による プル リクエスト #252に基づいています。
  • バグ 60785 - 日本語翻訳の改善。Kimono (kimono.outfit.am at gmail.com) によるパッチ。

レポート/ダッシュボード

  • バグ 60637 - 統計テーブルのデザインを改善
  • バグ 60112 - レポート / ダッシュボード : トランザクション名ごとに APDEX しきい値をカスタマイズする機能を追加します。Stephane Leplus による寄稿 (s.leplus at ubik-ingenierie.com)

全般的

  • バグ 58164 - loadtest を開始する前に、ファイルが ResultCollector リスナーに既に存在するかどうかを確認する
  • バグ 54​​525 - 検索機能: 置換機能で強化
  • バグ 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 - ユーザーが 2 つの新しいメニュー項目でフォント サイズを変更できるようにし、フォントのスケーリングにjmeter.hidpi.scale.factorを使用できるようにします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60654 - 検証機能: BackendListener を無視できるようになりました。Maxime Chassagneux (gmail.com の maxime.chassagneux) による寄稿。
  • バグ 60646 - ワークベンチ: デフォルトで保存
  • バグ 60684 - スレッド グループ: 検証は、スケジューラによって 0 または非常に短い期間で途中で終了しました。Andrew Burton (gmail.com の andrewburtonatwh) による寄稿。
  • バグ 60589 - LogKit を SLF4J に移行 -サードパーティ製モジュールとの下位互換性を持つ Avalon、LogKit、および Excalibur を削除します。Woonsan Ko (apache.org の woonsan) による寄稿
  • バグ 60565 - LogKit を SLF4J に移行 - ロギング ステートメントを最適化します。たとえば、メッセージ形式の引数、スロー可能な引数、単純なものでの不要な if-enabled-logging など。
  • バグ 60564 - LogKit を SLF4J に移行 - LogKit ロガーを SLF4J のものに置き換え、プラグインとの下位互換性のために現在の LogKit バインディング ソリューションを維持します。Woonsan Ko (apache.org の woonsan) による寄稿
  • バグ 60664 - ログ レベルを設定するための UI メニューを追加します。Woonsan Ko (apache.org の woonsan) による寄稿
  • プル リクエスト #276 - - ポーランド語ロケールの翻訳を追加。Bartosz Siewniak (gmail.com の barteksiewniak) による寄稿
  • バグ 60792 - スレッド ダンプを作成する新しいヘルプ メニュー項目を作成する
  • バグ 60813 - JSR223 テスト要素: JMeterStopTestNowException、JMeterStopTestException、および JMeterStopThreadException を考慮する
  • バグ 60814 - メニュー:最近開いたファイルの読み込みをより明確にするメニュー項目を追加
  • バグ 60815 - メニューから「GUI のリセット」を削除
  • バグ 60886 - プロキシの背後にある環境でのビルドをより有効にするためのビルドの改善。Michael Osipov (michaelo at apache.org) によって部分的に寄稿されました

機能以外の変更

  • バグ 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 に変換しました。
  • プル リクエスト #255 - - コードを整理するために Java 8 (および 7) の機能を利用しました。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 59435 - JMeterTestCase は JUnit3 をサポートしなくなりました

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

  • Bug 60531 - HTTP Cookie Manager: 実装を変更しても Cookie ポリシーが更新されない
  • バグ 60575 - HTTP GET リクエストに、本文のない content-type ヘッダーが含まれる可能性があります。
  • バグ 60682 - HTTP リクエスト: Content-Length ヘッダーが設定されているため、リダイレクト時に 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) Test Script Recorder : Number リクエストで重複した番号が生成される場合があります。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 56939 - OPTIONS HTTP リクエストでパラメーターが渡されない
  • バグ 60778 - Http Java Impl が送信された場合でも、SampleResult に Authorization ヘッダーが表示されない
  • バグ 60837 - httpclient4.retrycountが 0 よりも大きい 場合でも、本体を使用した GET、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 - プル リクエスト #235 - - JSON Extractor で新しい変数を抽出する前に、古い変数をクリアします。Qi Chen (ele.me の qi.chensh) によるパッチに基づく
  • バグ 60607 - DNS キャッシュ マネージャーの構成が無視される
  • バグ 60729 - Random Variable Config 要素は、最小==最大を許可する必要があります
  • バグ 60730 - JSON パスが 1 回しか一致しない場合でも、JSON PostProcessor は_ALL変数を設定する必要があります。
  • バグ 60747 - 応答アサーション: フィールドにリクエスト ヘッダーを追加してテストする
  • バグ 60763 - XMLAssertion はエラーをコンソールにリークすべきではありません
  • バグ 60797 - 一時停止モードの TestAction が、設定されたテスト期間を超えて続くことがある

機能

  • バグ 60819 - ファイルが見つからない場合、関数 __fileToString がドキュメンテーション コントラクトを尊重しない

I18N

レポート/ダッシュボード

  • バグ 60726 - レポート / ダッシュボード : サンプラーによる上位 5 つのエラーは、シリーズ フィルタリングを考慮に入れてはいけません
  • バグ 60919 - レポート / ダッシュボード: 粒度が 1000 (1 秒) と異なる場合、遅延対リクエストおよび応答時間対リクエストが間違っている

全般的

  • バグ 60775 - NamePanel ctor がオーバーライド可能なメソッドを呼び出す
  • バグ 60428 - テストが終了し、 useRegexpForSamplerListがtrueに設定されている 場合、JMeter Graphite バックエンド リスナーが例外をスローします。Liu XP (sina.com の liu_xp2003) によるパッチに基づく
  • バグ 60442 - build.xmlのタイプミスを修正(gavin at 16degrees.com.au)
  • バグ 60449 - JMeter ツリー: ノード名が空の場合の厄介な動作
  • バグ 60494 - ソナー分析タスクをビルドに追加
  • バグ 60501 - 検索機能: 正規表現がチェックされているときのパフォーマンスの問題
  • バグ 60444 - TestHTTPMirrorThread#testSleep()の断続的な失敗。Thomas Schapitz による寄稿 (ts-nospam12 at online.de)
  • バグ 60621 - maven centralの ApacheJMeter_config-3.1.jarに「 report-template」フォルダーがありません
  • バグ 60744 - テスト計画のロード中に再利用すると、GUI 要素がクリーンアップされず、新しいテスト要素の以前の状態で部分的に初期化される可能性があります
  • バグ 60812 - JMeterThread が JMeterStopTestNowException のコントラクトを尊重しない
  • バグ 60857 - saveservice.properties で _file_encoding が定義されていない場合、SaveService は XML ヘッダーを省略します
  • バグ 60830 - スレッド間で SimpleDateFormatter を共有しているため、CSV ファイルのタイムスタンプが破損する可能性がある

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Jerome Loisel (loisel.jerome at gmail.com)
  • 劉 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 (logan.mauzaize at gmail.com)
  • Maxime Chassagneux (gmail.com の maxime.chassagneux)
  • 忻隆 (298015902 at qq.com)
  • Ubikロードパック
  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • Sanduni Kanishka (https://github.com/SanduniKanishka)
  • Andrew Burton (gmail.com の andrewburtonatwh)
  • Woonsan Ko (apache.org の woonsan)
  • Bartosz Siewniak (gmail.com の barteksiewniak)
  • 着物 (kimono.outfit.am at gmail.com)
  • Michael Osipov (apache.org の michaelo)
  • Stephane Leplus (ubik-ingenierie.com の s.leplus)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。

  • Bug 60689 Bug 60690の解決に役立つ多くの有用なフィードバックを提供してくれた Tuukka Mustonen (tuukka.mustonen at gmail.com)
  • バグ 60682に関するフィードバックを提供してくれた Amar Darisa (gmail.com の amar.darisa)

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム (md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで HTTPS 要求を実行する場合。このエラーは、Java 8+ でのセキュリティの向上に関連しています。
    HTTPS 要求を実行できるようにするには、Java jdk.certpath.disabledAlgorithmsプロパティを編集して、Java インストールのセキュリティをダウングレードします。ケースに応じて、MD2 値またはサイズの制約を削除します。
    このプロパティは次のファイルにあります。
    JAVA_HOME/jre/lib/security/java.security
    詳細については 、 バグ 56357を参照してください。
  • Mac OSX では、数値に対するミラーリング効果により、集計グラフに誤った値が表示されます。これは、Java の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。この修正は、JDK9 b65 以降を使用することです (ただし、Java 9 はまだ JMeter に対して認定されていないことに注意してください)。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。

バージョン 3.1

概要

新しくて注目に値する

レポート/ダッシュボードの改善

ダッシュボードが改善され、3 つの新しいグラフと 1 つのサマリー テーブルが追加されました。

  • 接続時間グラフ:
  • 応答時間パーセンタイル推移 (成功した応答) グラフ:
  • 応答時間の概要グラフ:
  • サンプラー テーブル別の上位 5 つのエラー:
  • エラー表のエラーの詳細
  • 統計テーブルに追加された平均応答時間:
  • Active Threads テーブルにスレッドがスタックされるようになりました:

新しい指標

サーバーに送信されたバイト数を報告する新しいsent_bytesメトリックが導入されました。
このバージョンでは、別のメトリクスconnect_timeがデフォルトで有効になっています

ビッグレスポンスの処理

JMeter は、2 GB を超えるメトリクス応答に関して処理できるようになりました。制限は 9223372 TB に引き上げられました。
このような大きな応答を処理するために、応答の一部を切り捨てて、メモリのオーバーフラッドを回避できるようになりました。httpsampler.max_bytes_to_store_per_requestプロパティ を参照してください。

新しい__groovy関数

Groovy 関数を有効に する新しい関数__groovyを導入します。高度な並行テスト計画で使用すると、JavaScript は非常に遅くなる可能性があるため (BeanShell の場合も同様)、これは便利です。

JSR-223 要素のデフォルトとして Groovy を使用する

Groovy が JSR-223 要素のデフォルト言語として設定されるようになりました。サポートされている別の言語を使用する場合は、明示的に選択する必要があります。

デフォルトでは、[利用可能な場合はコンパイル済みスクリプトをキャッシュする]はデフォルトではチェックされていませんが、チェックして、${varName}構文を使用して JMeter 変数にアクセスするのではなく、代わりにvars.get("varName")を使用することをお勧めします。

結果ツリー ビューの書式設定された HTML ソース ビュー

結果ツリー ビューの HTML ソース コードをフォーマットして表示できるようになりました。これは、Web ページのコードから余分な空白がすべて取り除かれている場合に非常に便利です。

新しい書式設定された HTML ソース ビュー
新しい書式設定された HTML ソース ビュー

テスト計画のすべてのタイマーを新しいプロパティで更新する機能

新しいプロパティtimer.factor=1.0fが導入され、Gaussian、Uniform、および Poisson タイマーによって計算された一時停止時間を掛けることができます。これにより、Think Times を 1 か所から更新できるようになり、生産性が向上します。

コアの改善

  • さまざまな 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 コントローラーまたはスループット コントローラーによって生成される) を無視します。これにより、より正確なメトリックが提供されます
  • バージョン 3.1 以降、Summariser は、ライブ統計の計算時にTransaction Controllerによって生成された SampleResults を無視します。Bug 60109を参照してください。
  • バージョン 3.1 以降、Stripped モードを使用する場合 (デフォルトではStrippedBatchが使用されます)、失敗した SampleResults に対しても応答が削除されます。 user.propertiesでsample_sender_strip_also_on_error=falseを設定することにより、これを以前の動作に戻すことができます。Bug 60137を参照してください。
  • バージョン 3.1 以降、jmeter.save.saveservice.connect_timeプロパティ値はtrue です。つまり、結果の CSV ファイルには、接続時間を含む追加の列が含まれます 。Bug 60106を参照してください。
  • バージョン 3.1 以降、Random Timer サブクラス (Gaussian Random Timer、Uniform Random Timer、および Poisson Random Timer) はインターフェースorg.apache.jmeter.timers.ModifiableTimerを実装します。
  • バージョン 3.1 以降、JSR223 Test Elements で言語を選択しない場合、Apache Groovy 言語が使用されます。 バグ 59945を参照してください
  • バージョン 3.1 以降、CSV DataSet は、CSV DataSet の構成時に変数名間のスペースによる問題を回避するために、変数名をトリミングするようになりました。変数名の先頭または末尾にスペースを使用しない限り、影響はありません。 バグ 60221を参照
  • バージョン 3.1 以降、HTTP リクエストは、HttpClient4 (デフォルト) 実装を使用して2147483647バイト (2GB) を超えるレスポンスを処理できるようになりました。これを可能にするために、次の 2 つのプロパティが導入されました。
    • httpsampler.max_bytes_to_store_per_request (デフォルトは 10MB) は、メモリに保持されるものを制御します。デフォルトでは、JMeter は応答の最初の 10MB のみをメモリに保持します。応答がこの値よりも大きく、最初の 10MB より後のアサーションを使用する場合は、この値を増やす必要があります
    • httpsampler.max_buffer_sizeは、データの読み取りに使用されるバッファーを制御します。以前は、JMeter は Content-Length ヘッダーと等しいバッファーを使用していたため、障害が発生し、JMeter の障害のあるアプリケーションに対する耐性が低下する可能性がありましたが、アプリケーションがより高い Content-Length ヘッダーを返した場合、これは応答時間に影響し、以前のバージョンとはわずかに異なる結果になる可能性があることに注意してください。現在のデフォルト値 (65KB) より
    バグ 53039 を参照してください

非推奨および削除された要素または関数

これらの要素はメニューに表示されなくなりました。必要な場合は、not_in_menuプロパティを変更してください。JMeter チームは、それらをもう使用せず、代替品に移行することをお勧めします。

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 59882 - スループットを向上させるためにメモリ割り当てを減らします。 プル リクエスト #217および プル リクエスト #228を通じて Benoit Wiart (b.wiart at ubik-ingenierie.com) によって寄稿されました -
  • バグ 59885 - キャッシュを導入して、埋め込みリソースのダウンロードの CSS 解析を最適化します。Benoit Wiart (ubik-ingenierie.com の b.wiart) による プル リクエスト #219による寄稿 -
  • バグ 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 リクエストの本文データの送信を許可する

その他のサンプラー

  • プル リクエスト #211 - JDBC サンプラーのタイミングを区別します。待ち時間と接続時間を使用します。寄稿者 Thomas Peyrard (thomas.peyrard at murex.com)
  • バグ 59620 - 「JMS Publisher → Random File from folder specified below」のボタン アクションを修正して、ディレクトリを選択できるようにします。
  • バグ 60066 - CLOB と BLOB を処理し、結果サンプラーに格納するときに必要に応じてそれらを制限します。

コントローラー

  • バグ 59351 - IncludeController のログ/エラー/メッセージを改善します。Antonio Gomes Rodrigues (gmail.com の ra0077) によって一部寄稿されました。
  • バグ 60023 - ThroughputController : "Percent Executions" と global をデフォルト値にします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60082 - 検証モード: スループット コントローラーが 100% に設定されているかのように強制的に実行できる
  • バグ 59349 - IncludeController の入力ファイル名のスペースを削除します。
  • バグ 60081 - インターリーブ コントローラ: スレッド間で交互に実行するオプションを追加

リスナー

  • バグ 59953 - GraphiteBackendListener : Average メトリックを追加します。Maxime Chassagneux (gmail.com の maxime.chassagneux) の寄稿の一部
  • バグ 59975 - 結果ツリーの表示: コンテンツがかさばると、テキスト レンダラーがうっとうしく下にスクロールします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • Bug 60109 - Summariser : 要約計算で TC によって生成された SampleResult を無視するようにします。
  • バグ 59948 - 結果ツリーの表示に、フォーマットされた適切な HTML ソース コード レンダリングを追加する
  • バグ 60252 - Aggregate Report と Summary レポートに送信キロバイト/秒を追加
  • バグ 60267 - UX : 結果ツリーの表示で、エスケープを入力して設定ポップアップを閉じることができるはずです。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 59845 -エラーではなく、デバッグレベル で JSON パスの不一致に関するメッセージをログに記録します。
  • プル リクエスト #212 - HTTP Authorization Manager で複数の選択と削除を許可します。Benoit Wiart (b.wiart at ubik-ingenierie.com) によるパッチに基づく
  • バグ 59816 - プル リクエスト #213 - HTTP ヘッダー マネージャーで複数の選択と削除を許可します。Benoit Wiart (b.wiart at ubik-ingenierie.com) によるパッチに基づく
  • バグ 59967 - CSS/JQuery Extractor : 空のデフォルト値を許可します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 59974 - 応答アサーション: ボタン「クリップボードから追加」を追加します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60050 - CSV データ セット: この構成が原因でスレッドがいつ終了するかをログで明確にします
  • バグ 59962 - 応答コードが304の 場合、キャッシュ マネージャーは有効期限を更新しません。
  • バグ 60018 - タイマー: 一時停止に適用する係数を追加します。一部は Ubik Load Pack によるパッチに基づいています (ubikloadpack.com でサポート)
  • バグ 60203 - XPath アサーションで textarea に使用可能なスペースを増やしてください。
  • バグ 60220 - JSON パス ポスト プロセッサの名前を JSON Extractor に変更
  • バグ 60221 - CSV DataSet : 変数名のトリム
  • バグ 59329 - CSVDataSet の入力ファイル名のスペースを削除します。

機能

  • バグ 59963 - 新しい関数__RandomFromMultipleVars : 1 つ以上の変数の値からランダムな値を計算する機能。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 59991 - Groovy スクリプトを評価するため の新しい関数__groovy 。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

I18N

  • プル リクエスト #214 - スレッドの開始を遅らせるためのスペイン語の翻訳を追加します。Asier Lostalé (openbravo.com の asier.lostale) による寄稿。
  • バグ 60348 - 名前を付けて保存 の中国語翻訳を変更します。XMeter による寄稿 (xmeter.net でのサポート)。

レポート/ダッシュボード

  • バグ 59954 - Web レポート/ダッシュボード: 平均メトリックを追加
  • バグ 59956 - Web レポート / ダッシュボード: データ範囲のグラフを生成する機能を追加
  • バグ 60065 - レポート / ダッシュボード : 「エラーの種類」に応答メッセージを追加して、ダッシュボード エラーの概要を改善します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60079 - レポート/ダッシュボード: 新しい「応答時間の概要」グラフを追加
  • バグ 60080 - レポート / ダッシュボード : 新しい「Connect Time Over Time」グラフを追加します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60091 - レポート / ダッシュボード : 最小/最大およびパーセンタイル グラフを含む新しいレポートがあります。
  • バグ 60108 - レポート / ダッシュボード: リクエストの概要の丸めが強すぎる
  • バグ 60098 - レポート/ダッシュボード: 「jmeter.reportgenerator.statistic_window」のデフォルト値を減らして、メモリへの影響を減らします
  • バグ 60115 - 開始日/終了日フィルターの日付形式プロパティをレポート ジェネレーターに追加
  • バグ 60171 - レポート / ダッシュボード : Active Threads Over Time は、実行中のスレッドの合計量を示すために行を積み重ねる必要があります
  • バグ 60250 - レポート/ダッシュボード: HTML ダッシュボードの統計レポートに送信済み KB/秒を追加する必要がある
  • バグ 60287 - レポート / ダッシュボード : ダッシュボードにサンプラー テーブルごとの新しい Top5 エラーがあります。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 (b.wiart at ubik-ingenierie.com)
  • バグ 59945 - すべての JSR223 要素で、スクリプト言語が UI で選択されていない場合、スクリプトは groovy スクリプトとして解釈されます。
  • バグ 60266 - ユーザビリティ/UX : 最近のプロジェクトを閉じる/終了する/元に戻す/ロードする/ロードする、テンプレートから JMeter プランを作成する、またはテストが実行されている場合は新しいプランを開くことはできないはずです
  • バグ 57305 - ProxyControl のGuiPackageへの依存関係を削除します。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-parsers 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 から)
  • プル リクエスト #215 - 新しく追加されたメソッドGuiUtils#cancelEditing を使用して、重複するコードを減らします。寄稿者 Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • プル リクエスト #218 - その他のクリーンアップ。寄稿者 Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • プル リクエスト #216 - 可能であればパターンを再利用します。寄稿者 Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • バグ 60364 - ドキュメント テスト カバレッジ。Thomas Schapitz による寄稿 (ts-nospam12 at online.de)

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

その他のサンプラー

  • バグ 59113 - JDBC 接続構成: 数値の代わりに定数を使用すると、トランザクション分離レベルが正しく設定されない

コントローラー

  • バグ 60361 - ModuleController : テスト計画に、存在しないコントローラーを参照するモジュール コントローラーが含まれている場合、GUI モードの JMeter は停止しません。

リスナー

  • バグ 59712 - デコードに失敗すると、元のクエリが RequestView に表示されます。Teemu Vesala (teemu.vesala at qentinel.com) によるパッチに基づく
  • バグ 60278 - 2.13 (および バグ 57514 ) 以降、集計グラフ、要約レポート、および集計レポートは、保存されたファイル csv に保存されたエラー、レート、および帯域幅の値の精度を失いました。
  • バグ 60360 - 結果ツリーの表示: リクエスト タブに DELETE リクエストの本文が表示されない

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 59964 - JSR223 テスト要素: 利用可能な場合はコンパイル済みスクリプトをキャッシュするが正しくリセットされません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 59609 - JSON ポスト プロセッサで抽出された JSON オブジェクトを JSON として正しくフォーマットします。
  • バグ 60332 - 結果ツリーの表示: Windows LAF では、JSON Extractor は JSON パス式と結果パネルを表示しません

機能

I18N

全般的

  • バグ 59400 - -Xオプションが使用されている 場合、停止時に UnmarshalException を取り除きます。
  • バグ 59607 - 大規模なテスト計画 (2GB を超える) を読み取ると、JMeter がクラッシュします。Felix Draxler (felix.draxler at sap.com) による修正に基づく
  • バグ 59621 - レポート ダッシュボードのエラー数が 1 つ減る。
  • バグ 59657 - プロパティjsyntaxtextarea.font.familyが設定されている場合、JSyntaxTextArea でのみフォントを設定します。
  • バグ 59720 - XML ファイルが EOL=LF として生成されるため、バッチ テスト ファイルの比較が Windows で失敗する
  • コードのクリーンアップ。Graham Russell (graham at ham1.co.uk) によるパッチ
  • バグ 59722 - StandardCharsets を使用して、Charset 名のスペルミスの可能性を減らします。
  • バグ 59723 -可能な限りテストにjmeter.propertiesを使用する
  • バグ 59726 - CSV ヘッダー テキストとサンプル形式が予期せず変更されないことを確認する単体テスト
  • バグ 59889 - ダッシュボードのレポートでエンコーディングを UTF-8 に変更します。
  • バグ 60053 - 非 GUI モードで、レポートの生成中にテストの最後にスタックトレースが表示される
  • バグ 60049 - 遅延の大きいタイマーまたはスループットの低いコンスタント スループット タイマーを使用すると、シャットダウン テストと同様に、スケジューラの終了に時間がかかる場合があります。
  • バグ 60089 - レポート / ダッシュボード : 一定期間のバイト スループットで、送信バイトと受信バイトが逆転しました。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 60090 - レポート/ダッシュボード: 空のトランザクション コントローラーはメトリックにカウントされません
  • バグ 60103 - レポート / ダッシュボード : リクエストの概要にトランザクション コントローラーが含まれているため、パーセンテージが間違っている
  • バグ 60105 - レポート / ダッシュボード : レポートでは、トランザクション コントローラーの [親サンプルを生成] オプションをオンにして、関連する問題を修正する必要があります。
  • バグ 60107 - レポート/ダッシュボード: StatisticSummary で、TransactionController SampleResult が Total 行を間違ったものにする
  • バグ 60110 - レポート / ダッシュボード: 応答時間のパーセンタイルで、スライダーが役に立たない
  • バグ 60135 - レポート / ダッシュボード: 時間経過に伴うアクティブ スレッドは [時間経過] セクションにある必要があります
  • バグ 60125 - レポート/ダッシュボード: デフォルトの区切り文字が\tの場合、ダッシュボードを生成できません。Tamas Szabadi (tamas.szabadi at rightside.co) からのレポートに基づく
  • バグ 59439 - レポート/ダッシュボード: AbstractOverTimeGraphConsumer.createGroupInfos() は抽象でなければなりません
  • バグ 59918 - Ant によって生成された HTML レポートが壊れている (extras フォルダー)
  • バグ 60295 - 要素が 1 つしか見つからない場合、JSON Extractor は配列要素にインデックスを付けません。Roberto Braga (roberto.braga at sociale.it) によるパッチに基づく
  • バグ 60299 - スケジューラを使用したスレッド グループ: End-Time が過去の場合の奇妙な動作

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Felix Draxler (felix.draxler at sap.com)
  • アントニオ・ゴメス・ロドリゲス (gmail.com の ra0077)
  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • Teemu Vesala (teemu.vesala at qentinel.com)
  • Asier Lostalé (openbravo.com の asier.lostale)
  • Thomas Peyrard (murex.com の thomas.peyrard)
  • Benoit Wiart (b.wiart at ubik-ingenierie.com)
  • Maxime Chassagneux (gmail.com の maxime.chassagneux)
  • Ubikロードパック
  • Tamas Szabadi (rightside.co の tamas.szabadi)
  • Roberto Braga (roberto.braga at soziale.it)
  • gmail.comのjarek102
  • ワイアット エップ (gmail.com の wyatt.epp)
  • Thomas Schapitz (online.de の ts-nospam12)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れる バグ があることに注意してください。
    [java] 警告: ユーザー設定をフラッシュできませんでした:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: サポートされていません: インデント番号
    
    これは JMeter の操作には影響しません。この問題は、Java 7b05 以降で修正されています。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード 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 update 40 ランタイムを使用することです。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム (md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで 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 の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK7_u79、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、Mac OSX 上の Java 7 ではまったく使用できません。これは、Java の既知のバグJDK-8025126によるものです 。この修正は、JDK 8 b132 以降を使用することです。

バージョン 3.0

概要

新しくて注目に値する

テスト計画の作成とデバッグの改善

View Results Tree の新しい検索機能により、Request/Responses/Headers/Cookies でテキスト/正規表現を検索できるようになりました。これにより、関連付けとテスト計画の作成が容易になります。

ユーザーフレンドリーな JSON-PATH 構文を使用して JSON コンテンツからデータをより適切に抽出する新しい JSON ポスト プロセッサ

JSON は、新しいJSONPathポスト プロセッサの導入により、JMeter の第一級市民になりました。このポスト プロセッサは、正規表現ポスト プロセッサに非常に似ていますが、JSON コードに適しています。Jayway JSON Path ライブラリに基づいています

新しい検証機能。ワンクリックで、ユーザー 1 人、一時停止なし、反復1 回でスレッド グループの選択を実行

JSR223 テスト要素はキャッシュ コンパイル キーを必要としなくなりました

利用可能な場合はコンパイル済みスクリプトをキャッシュするチェックボックスをオンにするだけで、要素(プリプロセッサ、ポストプロセッサ、アサーション、リスナーなど)はスクリプトをプリコンパイルし、基になる言語がサポートしている場合はコンパイル済みコードをキャッシュします

Nashorn を Javascript エンジンとして使用できるようになり、パフォーマンスが向上し、使いやすくなりました

Nashorn を有効にするには、 user.propertiesで設定する必要があります:

javascript.use_rhino=false

Nashorn は、次の要素で Java 8 とともに使用できます。

  • IfController
  • JavaScript言語が選択されたJSR223テスト要素
  • __javaScript関数

Jexl3 が統合されました。新しいスクリプト機能とより優れたドキュメントを提供します

新しい関数__jexl3のおかげで、 JEXL3を使用できるようになりました。JEXL は JSTL に非常によく似た言語です。

簡略化された HTTP リクエスト UI

設定を簡素化するために、HTTP リクエストに新しい「Advanced」タブが追加されました。ファイルのアップロード機能は、専用のタブに移動されました。これにより、UI のパラメーターに使用できるスペースが増え、UX が簡素化されます。

HTTP リクエストのデフォルトの改善

詳細設定タブで 送信元アドレス (IP スプーフィングのような機能) と「応答を MD5 ハッシュとして保存」を構成できるようになりました

レポートの改善

HTML ページで動的グラフを生成する新しいレポート機能 (APDEX、概要レポート、およびグラフ)

動的 HTML レポートは、負荷テストの最後または結果ファイルからいつでも生成できるようになりました。詳細については、ダッシュボードの生成を参照してください。このレポートは、次の指標を提供します。

  • 許容しきい値と満足しきい値の構成可能な値に基づいて APDEX を計算するAPDEX (アプリケーション パフォーマンス インデックス) テーブル
  • 成功および失敗したトランザクションの割合を示すリクエスト概要グラフ:
  • 構成可能な 3 つのパーセンタイルを含む、トランザクションごとのすべてのメトリックの概要を 1 つのテーブルに提供する統計テーブル:
  • すべてのエラーの概要と、リクエスト全体に占める割合を示すエラー テーブル:
  • すべてのトランザクションをチェック/チェック解除して表示/非表示にできるズーム可能なチャート:
    • 経時的な応答時間:
    • 経時的なバイト スループット:
    • 時間の経過に伴うレイテンシ :
    • 1 秒あたりのヒット数:
    • 1 秒あたりの応答コード:
    • 1 秒あたりのトランザクション数:
    • 応答時間と 1 秒あたりの要求:
    • レイテンシと 1 秒あたりのリクエスト :
    • 応答時間のパーセンタイル:
    • アクティブなスレッドの推移:
    • 時間とスレッド:
    • 応答時間の分布:

GraphiteBackendListener に新しいサーバー ヒット メトリックが追加されました

サマライザーはより読みやすい期間を表示します

期間は時間:分:秒 の形式で表示されるようになりました

サマリー結果の生成 + 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
要約結果の生成 = 00:00:09 で 139 = 15.3/秒 平均: 0 最小: 0 最大: 1 エラー: 0 (0.00%)
サマリー結果の生成 + 467 in 00:00:10 = 47.0/s 平均: 0 最小: 0 最大: 1 エラー: 0 (0.00%) アクティブ: 19 開始: 19 終了: 0
サマリー結果の生成 = 00:00:19 で 606 = 31.9/秒 平均: 0 最小: 0 最大: 1 エラー: 0 (0.00%)
⋮
サマリー結果の生成 + 1662 in 00:00:10 = 166.1/s 平均: 0 最小: 0 最大: 1 エラー: 0 (0.00%) アクティブ: 50 開始: 50 終了: 0
要約結果の生成 = 00:03:19 で 28932 = 145.4/秒 平均: 0 最小: 0 最大: 1 エラー: 0 (0.00%)
サマリー結果の生成 + 1664 in 00:00:10 = 166.4/s 平均: 0 最小: 0 最大: 1 エラー: 0 (0.00%) アクティブ: 50 開始: 50 終了: 0
サマリー結果の生成 = 00:03:29 で 30596 = 146.4/秒 平均: 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 で、サンプラー リストを正規表現として定義できるようになりました

正規表現を使用して、フィルタリングするサンプラーを選択できるようになりました。パラメーターを使用: useRegexpForSamplerList=trueを使用し、正規表現をパラメーターsamplersListに入れます。

プロトコルと負荷テストの改善

HttpClient 4.5.2 への移行が開始されました。完全には完成していませんが、JMeter の多くの領域が改善されています

HttpClient 4.5.2 への移行により、JMeter の次のフィールドが改善されます。

  • Cookie の HTTP State Management Mechanism RFC-6265などの最近の RFC のサポート。現在、HTTP Cookie Manager コンポーネントでHC4CookieHandlerを使用し、標準のCookie ポリシーを選択する必要があります。
  • HttpClient4 実装のServer Name Indication (SNI)サポート
  • 古い接続と Keep-Alive 管理の検証メカニズムが改善され、パフォーマンスが向上しました。プロパティhttpclient4.validate_after_inactivityhttpclient4.time_to_liveを参照してください。
  • JMeter 2.13 で使用された以前のバージョン 4.2.6 以降の多くのバグ修正については、HttpClient 4.5.X リリース ノートを参照してください。
  • HTTP RFC 2616 / RFC 7230 のサポートの向上とdeflate圧縮管理に関する問題の修正

並列ダウンロードが現実的になり、スケーリングが大幅に改善されました。

  • CSS インポート ファイル ( @importを使用) または埋め込みリソース (背景、画像など)の解析
  • SSL コンテキストの遅延初期化: 15 スレッドの場合、HTTP のみのテストで 5 分間のサンプリングが 138% 増加します。スレッドの数が増えるとゲインが増加します
  • 並列ダウンロードの接続管理の再構築: これにより、現在のブラウザーの動作がより適切にシミュレートされ、スループットが向上します。15 スレッドの場合、5 分間で 135% の追加サンプル。
  • ThreadPool を介した並列ダウンロードに使用されるスレッドの再利用: これにより、スループットが向上し、そのようなテストの JMeter スケーラビリティが向上します。
  • 15 スレッドでのテストで合計 750% 高いスループットが見つかりました。スレッドが多いほど、より多くの利益が得られます
  • レスポンス全体を保存する代わりに、埋め込みリソースの MD5 のみを計算して保存できるようになりました。これは、プロパティhttpsampler.embedded_resources_use_md5=trueを設定することで実行できます。

サンプルタイムアウト機能の導入

この新しいサンプル タイムアウトプリプロセッサを使用すると、スコープ内の要素にタイムアウトを適用できます。以下のスクリーンショットでは、10 秒のタイムアウトがDebug Sampler要素とHTTP Request要素に適用されます。

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 と関連アクション ( StartStart No TimersValidate )

ロード テスト前のテスト計画の作成とテストは、選択したスレッド グループのみを開始するか、タイマーを適用せずに開始する (したがって時間がかかる) か、新しい検証モードを使用して開始できるようにすることで、大幅に簡素化されました。この検証モードでは、タイマーを適用せずに、1 つのスレッド、1 つの反復でスレッド グループを (変更せずに) 開始できます。この検証モードはカスタマイズできます。

新しいショートカット

  • 最もよく使用される要素 ( Ctrl  +  0Ctrl  +  9 ) を追加し、 gui.quick_ XXXプロパティで構成可能
  • ノードを展開するためのショートカット

コアの改善

デフォルトの改善による構成の簡素化

多くのプロパティのデフォルト値が変更され、JMeter 構成がすぐに最適になるように変更されました。詳細については、「互換性のない変更」セクションを参照してください。

JMeter にバンドルされた Apache Groovy

よく知られている JVM スクリプト言語であるApache Groovyが、Apache JMeter の lib フォルダーにバンドルされるようになりました。これにより、Groovy 言語を選択することで、JSR223 Elements からすぐに使用できます。

余分な古いプロパティが削除されました

下位互換性を維持するため、または余分なカスタマイズを提供するために存在していた古いプロパティは削除されました。「互換性のない変更」セクションを読んで、削除されたプロパティを確認してください。

コードとドキュメントの改善

  • Java7 ソースコードへの移行とそのシンタックス シュガーの使用
  • 主要なコードのクリーンアップ
  • ドキュメントの完全なレビューと、コンテンツとプレゼンテーションの両方の改善

単体テストの改善

  • 多くのテストを JUnit 4 に移行
  • ヘッドレス テストの管理の改善
  • その他の単体テスト

依存関係の更新

廃止されたライブラリは削除されたか、最新のものに置き換えられました:

  • Commons-dbcp に置き換えられた Excalibur
  • 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 ファイルには、アサーション結果応答メッセージを含む追加の列が含まれます 。Bug 58978を参照してください
  • バージョン 3.0 以降、jmeter.save.saveservice.print_field_namesプロパティ値は true です。つまり、結果の CSV ファイルには、CSV の最初の行としてフィールド名が含まれます 。Bug 58991を参照してください。
  • バージョン 3.0 以降、jmeter.save.saveservice.idle_timeプロパティ値は true です。つまり、CSV/XML 結果ファイルには、サンプラー間のアイドル時間を含む追加の列が含まれます 。Bug 57182を参照してください。
  • RandomTimer クラスでは、保護されたインスタンスのタイマーフィールドがgetTimer()保護されたメソッドに置き換えられました。これは バグ 58100に関連しています。これは、サードパーティのプラグインに影響を与える可能性があります。
  • バージョン 3.0 以降、Javascript エンジン ( __javaScriptIfController )を使用する要素については、Java8 で Nashorn Engine (デフォルトの JavaScript エンジンは Rhino) を使用できます。使用したい場合は、プロパティーjavascript.use_rhino=falseを使用してください 。Bug 58406を参照してください。
    注: 将来のバージョンでは、デフォルトで Nashorn に切り替えます。ユーザーは、Rhino の代わりに Nashorn を使用することに関連する問題を報告することをお勧めします。
  • バージョン 3.0 以降、メッセージ ソースが「From File」で「Filename」フィールドが変更された場合 (たとえば、変更された変数を使用する場合) 、JMS Publisher はファイルの内容を再ロードします。
  • 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 (結果) ファイルの読み取りのサポートが削除されました 。Bug 59064を参照してください。
  • バージョン 3.0 以降、http.java.sampler.retriesのデフォルト プロパティ値は0 (デフォルトでは再試行なし) に変更され、HttpClient4 の動作に合わせられました。
    また、その意味が変更されたことにも注意してください。3.0 より前では、http.java.sampler.retries=1再試行なし(つまり、合計試行数 = 1) を意味していました。3.0のhttp.java.sampler.retries=11 回の再試行を意味するためです。(注: これは Java HTTP Sampler にのみ適用されます)
    バグ 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を参照してください
  • 次の jar が削除されました。
  • JMeter で許可されるリダイレクトの最大数は、以前は 5 でしたが、現在は 20 です。これは、プロパティhttpsampler.max_redirectsで変更できます。 バグ 59382を参照してください。

非推奨および削除された要素

  • MongoDB 要素 (MongoDB Source Config、MongoDB Script) は廃止され、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 リスナーと Distribution Graph リスナーは廃止され、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 (benoit dot wiart at gmail.com)
  • バグ 58852 - PUTリクエスト に使用するメモリが少なくなります。アップロードされたデータはサンプラーに保存されなくなります。これは、 POST要求の場合と同じ動作です。
  • バグ 58860 - HTTP リクエスト: 右クリックによる HTTP パラメーター テーブルの自動変数生成を追加します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58923 - 埋め込みリソースをダウンロードするときに URI を正規化します。
  • バグ 59005 - HTTP サンプラー: WebDAV 動詞 ( SEARCH ) を追加しました。
  • バグ 59006 - デフォルトのプロキシ記録ポートを8888に変更して、記録テンプレートに合わせます。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)
  • バグ 58099 - パフォーマンス: HttpClient SSL コンテキストを遅延初期化して、HTTP のみのシナリオでも初期化を回避する
  • バグ 57577 - HttpSampler : すべての埋め込みリソースを取得し、プロパティ " httpsampler.embedded_resources_use_md5 " を追加して、md5 のみを計算し、応答データを保持しません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59023 - HttpSampler UI: 埋め込みリソース ラベルを作り直し、並列ダウンロードのデフォルト数を6に変更します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59028 - SystemDefaultDnsResolverシングルトンを使用します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59036 - FormCharSetFinder : 非推奨の HTMLParser の代わりに JSoup を使用する
  • バグ 59034 - 並列ダウンロードの接続管理は現実的ではありません。Benoit Wiart (gmail.com の benoit dot wiart) と Philippe Mouawad による寄稿
  • バグ 59060 - HTTP リクエスト GUI : ファイルのアップロードを新しいタブに移動して、パラメーター用のスペースを増やし、互換性のない構成を防ぎます。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 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 (benoit dot wiart at gmail.com)
  • バグ 59190 - HTTP(S) Test Script Recorder : 提案された除外では、大文字と小文字を区別する必要があります。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)
  • バグ 59140 - 並列ダウンロード: CSS 解析を追加して、CSS ファイルからリンクを抽出する
  • バグ 59249 - Http リクエストのデフォルト: 「送信元アドレス」と「応答を MD5 として保存」を追加
  • バグ 59382 - httpsampler.max_redirects のより現実的なデフォルト値

その他のサンプラー

  • バグ 57928 - プロトコル (http/https) を定義する機能を AccessLogSampler GUI に追加します。Jérémie Lesage による寄稿 (jeci.fr の jeremie.lesage)
  • バグ 58300 - 既存の Java サンプラーに割り込み可能を実装させる
  • バグ 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 (benoit dot wiart at gmail.com)
  • バグ 58673 - モジュール コントローラ: ターゲット要素が無効になっている場合、デフォルトの jtree アイコンが表示されます。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58674 - モジュール コントローラ: ツリーで複数のノードを選択できないはずです。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58680 - モジュール コントローラー: UI の強化。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58989 - コントローラー GUI の記録: 記録されたすべてのサンプルをクリアするボタンを追加します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)

リスナー

  • バグ 58041 - ツリー ビュー リスナーはサンプル データ型を表示する必要があります
  • バグ 58122 - GraphiteBackendListener : サーバー ヒット メトリックを追加します。一部は Amol Moye (amol.moye at thomsonreuters.com) からのパッチに基づいています
  • バグ 58681 - GraphiteBackendListener : サンプリングが発生しない場合はデータを送信しない
  • バグ 58776 - サマライザーはより読みやすい期間を表示する必要があります
  • バグ 58791 - 非推奨のリスナー: 分布グラフ (アルファ版) とスプライン ビジュアライザー
  • バグ 58849 - 結果ツリーの表示 : 検索パネルをリクエスト http ビューに追加して、パラメータ テーブルで検索できるようにします。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58857 - 結果ツリーの表示: リクエスト ビュー http では、パラメーター テーブルの最初の列のサイズを変更できません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58955 - リクエスト ビュー http は、multipart/form-data の http パラメータを正しく表示しません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 55597 - 結果ツリーの表示: 記録されたサンプラーを検索する検索機能を追加
  • バグ 59102 - 結果ツリーの表示: " view.results.tree.max_size "のより良いデフォルト値
  • バグ 59099 - バックエンド リスナー: samplersList を正規表現と見なす可能性を追加します。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)
  • バグ 59424 - ビジュアライザー: ポップアップ メニューに「クリア」を追加

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 58303 - SMIMEAssertion での bouncycastle API の使用法を変更して、非推奨の警告を取り除きます。
  • バグ 58515 - 新しい JSON 関連コンポーネント: ビューの結果ツリーの JSON-PATH エクストラクタおよび JSON-PATH レンダラー。Ubik Load Pack によって寄贈されました (ubikloadpack.com でサポート)。
  • バグ 58698 - HTTP Authorization Manager での認証ファイルの正しい解析。
  • バグ 58756 - CookieManager : Cookie ポリシーの選択ボックスのコンテンツは、Cookie の実装に依存する必要があります。
  • バグ 56358 - Cookie マネージャーはクロスポート Cookie と 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 (benoit dot wiart at gmail.com)
  • バグ 58865 - 正規表現エクストラクタで空のデフォルト値を許可します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 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  +  1Ctrl  +  9 )。Andrey Pokhilko (blazemeter.com の andrey) によって実装され、BlazeMeter Ltd によって提供されました。
  • バグ 58100 - パフォーマンスの向上: Random を ThreadLocalRandom に置き換えます。
  • バグ 58677 - TestSaveService#testLoadAndSaveが間違ったファイル セットを使用します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58689 - ツリーの一部を展開/折りたたむショートカットを追加します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58696 - Ant タスクを作成して Eclipse プロジェクトをセットアップする
  • バグ 58653 - 負荷テスト結果の分析に役立つ動的グラフ、テーブルを備えた新しい JMeter ダッシュボード/レポート。Ubik-Ingenierie によって開発され、Decathlon SA と Ubik-Ingenierie / UbikLoadPack によって提供されました
  • バグ 58699 - ワークベンチの変更が保存されず、閉じるときに保存するように求められません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 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 - Config Element Counter (およびその他): チェック ボックスのトグル領域が大きすぎる
  • バグ 56554 - JSR223 テスト要素: コンパイル キャッシュ キーを自動的に生成します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58911 - ヘッダー マネージャー: ヘッダー マネージャー間でコピー/貼り付けできるようにする必要があります。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 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 (benoit dot wiart at gmail.com)
  • バグ 59038 - HTTPClient 3.1 関連の要素を廃止する
  • バグ 59094 - 古い JMX ファイル形式のサポートを中止
  • バグ 59082 - " TestCompiler.useStaticSet " パラメータを削除します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59093 - オプションの解析エラー メッセージが「失われる」可能性がある
  • バグ 58715 - 機能のリクエスト: groovy-allを JMeterにバンドル
  • バグ 58426 - 高解像度デバイス (HiDPI) での JMeter の表示を改善 (拡張のパート 1)
  • バグ 59105 - TableEditor : クリップボードから行を貼り付け、複数選択を削除する機能を追加。Vincent Herilier (gmail.com の vherilier) による寄稿
  • バグ 59197 - スレッド グループ : ポップアップ メニューを使用して、単一のスレッド グループまたは選択したスレッド グループのみを実行できるようにする必要があります。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59207 -エラーが発生したときに、errorsOrFatalsLabel のフォントの色を赤に変更します。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)
  • バグ 58941 - スレッド グループを検証モードで実行する新しい Starter を作成します ( 1スレッドのみ、1反復、一時停止なし、すべてカスタマイズ可能)
  • バグ 59236 - JMeter プロパティ: クリーンアップを行う
  • バグ 59240 - Logkit 用の slf4j アダプターを導入 (これにより、プラグインおよびコア コード内で slf4j を使用できるようになります)
  • バグ 59153 - CSVDataSet が存在しないファイルにアクセスしている場合、テストを停止します。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)
  • バグ 59320 - GenericTestBeanCustomizer (CSV データ セット構成、JDBC 接続構成、キーストア構成など) を使用した GUI のツールチップの改善。Antonio Gomes Rodrigues (gmail.com の ra0077) によるパッチに基づく
  • バグ 59171 - サンプル結果 SaveConfig ダイアログがランダムな順序で生成される
  • バグ 59425 - ヘルプ ペイン内にヘルプ ページがないことに関するエラーを表示する

機能以外の変更

  • httpclient、httpmime 4.5.2 に更新 (4.2.6 から)
  • tika-core および tika-parsers 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 が必要
  • バグ 58684 - JMeterColor はjava.awt.Color を拡張する必要はありません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58687 - ButtonPanel は停止するはずです。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58705 - org.apache.jmeter.testelement.property.MultiPropertyを反復可能にします。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58729 - 保守性のためにエクストラ フォルダーをクリーンアップ
  • バグ 57110 - スペルと文法の修正、書式設定、コメント アウトされたコードの削除など
  • help.txtの JMeter の実行に関する正しい指示。Pascal Schumacher による寄稿 (pascalschumacher at gmx.net)
  • バグ 58704 - 非回帰テスト: Ant タスクの batchtest が、テストを非en_ENロケールで実行し、CSV DataSet を使用する JMX ファイルを使用すると失敗する
  • バグ 58897 - JUnit テスト コードを改善します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58949 - LDAP コードのクリーンアップ。Benoit Wiart (gmail.com の benoit dot wiart) によるパッチに基づく
  • バグ 58897 - JUnit テスト コードを改善します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58967 - JUnit カテゴリを使用して、GUI を必要とするテストを除外します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59003 - ClutilTestCase testSingleArg8testSingleArg9は同一です
  • バグ 59064 - 非常に古い Avalon 形式の JTL (結果) ファイルをサポートしていた OldSaveService を削除する
  • バグ 59165 - RSyntaxTextArea がヘッドレス テストと互換性がない
  • バグ 59021 - NumberProperty#compareToで再実装する代わりに、Double#compareを使用する
  • バグ 59037 - HtmlParserHTMLParser と、htmlparser および htmllexer への依存関係を削除
  • バグ 58465 - JMS 読み取り応答フィールドの名前とドキュメントが不適切である
  • バグ 58601 - saveservice.properties の変更のチェックを、 SVN リビジョン IDからファイル自体の sha1 サムに変更します。
  • バグ 58726 - jmeterthread.startearlierパラメータを削除します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58784 - JMeterUtils#runSafe sync/async awt 呼び出しを構成可能にし、非同期バージョンを使用するようにビジュアライザーを変更します。
  • バグ 58790 - CheckDirty の問題と ActionRouter との関係
  • バグ 59095 - 8 年前に廃止された UserParameterXMLParser を削除します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 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を 2 回呼び出さないでください。
  • バグ 57921 - キープアライブ " Connection " 応答ヘッダーのない HTTP/1.1は、無限のキープアライブを使用しなくなりました。
  • バグ 57956 - JMeter がbinで開始されていない場合、 jmeter.propertiesのhc.parameters参照が機能しません。
  • バグ 58137 - JMeter は、URL に不正な文字を含む埋め込み URL のダウンロードに失敗します (エスケープしません)。
  • バグ 58201 - 異なる http サンプラー間で、ホスト ヘッダーのポートの使用をより一貫性のあるものにします。
  • バグ 58453 - HTTP Test Script Recorder : Capture HTTP Headers を無効にするとNullPointerExceptionが発生する
  • バグ 57804 - HTTPS でクライアント証明書を使用する場合、HTTP リクエストがキャッシュされた SSL コンテキストを再利用しない (HttpClient4 実装でのみ修正)
  • バグ 58800 - proxy.pauseのデフォルト値: ドキュメントを修正
  • バグ 58844 - ボタンの有効化/無効化が引数パネルで壊れています。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58861 - 引数パネルのセル内で上、下、または詳細をクリックすると、新しく追加されたコンテンツが失われます。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 57935 - SSL SNI 拡張機能が HttpClient 4.2.6 でサポートされていない
  • Bug 59044 - Http Sampler: メソッドがPOST でない場合、マルチパート エンコーディングを選択できないはずです。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59008 - Http サンプラー: フレーム深度制限に達した際の無限再帰 SampleResult
  • バグ 58881 - HTTP リクエスト : サーバーが「deflate」圧縮を使用すると HTTPHC4Impl が例外を表示する
  • バグ 58583 - HTTP RFC 2616 / RFC 7230 に違反して、サーバーが " connection: close " を 送信しないという不正な動作をした場合、HTTP クライアントは接続を閉じることができません
  • バグ 58950 - サンプラー 間の一時停止がサーバーから送信されたキープアライブを超えると、 NoHttpResponseException が発生する
  • バグ 59085 - Http ファイル パネル: ブラウズをキャンセルするとデータが失われます。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 56141 - HTTP レコーダーを使用すると、アプリケーションが正しく動作しません。Dan (java.junkee at yahoo.com) の助けを借りて
  • バグ 59079 - 「自動リダイレクト」を使用すると、「 httpsampler.max_redirects」プロパティが適用されない
  • バグ 58811 - http サンプラー間で引数を貼り付けると、「エンコード」列と「等しいものを含める」列が失われます。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)

その他のサンプラー

  • バグ 58013 - SMTP サンプラーで使用するために、デフォルトの SSLContext で有効になっているすべてのプロトコルを有効にします。
  • バグ 58209 - HashMap.put()が同期せずに複数のスレッドから呼び出される ため、javasampler のテスト時に JMeter がハングします。
  • バグ 58301 - setIntsetDoublesetDate などの型付きメソッドをプリペアド ステートメント #27 に使用する
  • バグ 58851 - hamcrest-core への依存関係を追加して、注釈付きの JUnit テストが機能するようにします
  • バグ 58947 - ConnectExceptionが発生 したときに接続メトリックが正しくない
  • バグ 58980 - メッセージが 1 つ受信される限り、JMS サブスクライバーは成功を返します。Harrison Termotto による寄稿 (harrison dot termotto at stonybrook.edu)
  • バグ 59075 - JMS パブリッシャー:優先度または有効期限フィールドが空の場合、NumberFormatExceptionがスローされる
  • バグ 59345 - SMTPSampler 接続リーク。Luca Maragnani (gmail dot com の luca dot maragnani) によるパッチに基づく

コントローラー

  • バグ 58600 - IncludeController で検索すると、正しいファイル名が表示される
  • バグ 58678 - モジュール コントローラー: ターゲット要素の選択を制限します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58714 - モジュール コントローラー: タイマーを子として追加することはできないはずです。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59067 - JMeter は、「 Start Next Thread Loop 」のスレッド グループでアサーション エラーが発生した後、 「 Generate parent sample 」がチェックされ ている TransactionController の子である Controller の反復処理に失敗します。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59076 - モジュール コントローラが置換サブツリーを見つけられない場合、テストは失敗するはずです

リスナー

  • バグ 58033 - SampleResultConverter は、TEXT 以外のデータを記録できないことに注意する必要があります
  • バグ 58845 - リクエスト http ビューがすべてのパラメータを表示しない。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58413 - ViewResultsTree : リクエスト HTTP レンダラーは、アンパサンド (&) を含むパラメーターを正しく表示しません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59172 - SampleResult SaveConfig で一部のフィールドを無効にできない
  • バグ 58329 - 応答時間グラフと集計グラフ: グラフをファイルに保存すると、グラフを最後にクリックしてから変更された設定が考慮されません。David Coppens (gmail.com の dlcoppens) による寄稿

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

I18N

全般的

  • バグ 54​​826 - 結果ツリーの表示で JSON として表示するときに、JSON 応答の長い文字列で失敗しないようにしました。
  • バグ 57734 - Maven の一時的な依存関係が 2.13 で正しくない (Commons Pool と Math のグループ ID を修正)
  • バグ 57731 - TESTSTART.MSは、非 GUI 分散テストのサーバー モードで開始された最初のテストの値を常に持っています。
  • バグ 58016 - 外部 SSL プロバイダーを使用したエラー タイプ キャスト。Kirill Yankov (gmail.com の myworkpostbox) による寄稿
  • バグ 58293 - SOAP/XML-RPC Sampler ファイル ブラウザが NullPointerException を生成する
  • バグ 58685 - JDatefield : 上下矢印で日付を変更できるようにします。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 58693 - Eclipse のセットアップ時に、「出力フォルダー 'jmeter/build' 内に出力フォルダー 'jmeter/build/components' をネストできません」を修正
  • バグ 58781 - コマンドライン オプション " -? " が不明なオプションを表示する
  • バグ 57821 - 2.13 以降、コマンドライン オプション " -X --remoteexit " が機能しない ( バグ 57500に関連するリグレッション)
  • バグ 58795 -一部のサードパーティ プラグインを使用すると、 GuiPackage#getTestElementCheckSumで NPE が発生する場合がある
  • バグ 58913 - JMeter を閉じるときに、キャンセルを「テスト計画を破棄する 」と解釈してはなりません。寄稿者 Benoit Wiart (benoit dot wiart at gmail.com)
  • バグ 59096 - 検索機能: 大文字と小文字を区別しない検索は、実際には大文字と小文字を区別しないわけではありません
  • バグ 59193 - Thread.currentThread().getContextClassLoader()によってロードされていない依存関係からクラスにアクセスすると、 ant run_guiがClassNotFoundExceptionまたはIllegalAccessErrorで失敗する
  • バグ 59225 - 実行中のインジケータ アイコンの表示が正しくありません。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)
  • バグ 56927 - テスト中の言語変更を無効にする
  • バグ 59391 - 分散モードで、テストの最後にクライアントが異常終了する
  • バグ 59397 - UNIX システムでbuild.xmlが dist.executables を実行可能にしない

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Ubikロードパック
  • 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)
  • 十種競技 SA
  • Ubik-Ingenierie SAS
  • Oleg Kalnichevski (apache.org の olegk)
  • Pascal Schumacher (pascalschumacher at gmx.net)
  • Vincent Herilier (gmail.com の vherilier)
  • Florent Sabbe (ubik-ingenierie.com の f dot sabbe)
  • アントニオ・ゴメス・ロドリゲス (gmail.com の ra0077)
  • ハリソン・テルモット (ハリソン・ドット・テルモット at stonybrook.edu)
  • Denis Kirpichenkov (gmail.com の denis.kirpichenkov)
  • Gary Gregory (ggregory at apache.org)
  • David Coppens (gmail.com の dlcoppens)
  • Luca Maragnani (gmail ドットコムの luca dot maragnani)
  • Philip Helger (http://www.helger.com) は、CSS パーサーと、バグ レポートを非常に迅速に考慮してくれました。
  • 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) によるナイトリー ビルドのテストとレポート

他の誰かを省略した場合はお詫び申し上げます。

既知の問題と回避策

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0が表示されます( Bug 55510を参照)。
  • 一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れる バグ があることに注意してください。
    [java] 警告: ユーザー設定をフラッシュできませんでした:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: サポートされていません: インデント番号
    
    これは JMeter の操作には影響しません。この問題は、Java 7b05 以降で修正されています。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード 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 update 40 ランタイムを使用することです。
  • 次のエラーが発生する場合があります。
    java.security.cert.CertificateException: 証明書がアルゴリズムの制約に準拠していません
    MD2 を使用する署名アルゴリズム (md2WithRSAEncryption など) または 1024 ビット未満のサイズの SSL 証明書を使用して、SSL 証明書 (それ自体または信頼チェーン内の SSL 証明書の 1 つ) を使用して Web サイトで 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 の既知のバグによるものです。Bug JDK-8065373を参照してください 。修正するには、JDK7_u79、JDK8_u45 以降を使用します。
  • 結果ツリーを表示すると、HTML レンダラーで一部の HTML コードを表示できない場合があります 。Bug 54586を参照してください。これは、row/col 属性の「 px 」単位の解析に失敗する既知の Java バグによるものです。バグJDK-8031109を参照してください 。修正は、JDK9 b65 以降を使用することです。
  • キーボード ( SHIFT  + 上/下) による JTable の選択は、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)、Web サービスなど、必要なものであれば何でもかまいません。

これは、 GrafanaInfluxDB を使用して取得できる一種のライブ ダッシュボードです。詳細については、こちら
をお読みください。

Grafana ダッシュボード
Grafana ダッシュボード

コアの改善

新しい接続時間メトリック

このバージョンから、connectTime という新しいメトリックが追加されました。接続を確立する時間を表します。デフォルトでは、CSV または XML に保存されません。保存するには、user.properties に追加します:
jmeter.save.saveservice.connect_time=true

集計グラフとレポート

リスナーの Aggregate Graph と Aggregate Report は、以前は 90 パーセンタイル (履歴動作) のみを示していましたが、95 パーセンタイルと 99 パーセンタイルが追加され、カスタマイズ可能になりました。 必要なパーセンタイル値を設定するには、user.properties に次を追加し
ます 。

HTTP(S) テスト スクリプト レコーダー

コンポーネントは認証スキームを検出できるようになり、事前構成された HTTP Authorization Manager を正しいメカニズムで自動的に追加します。

HTTP リクエスト

CalDAV 動詞 (WebDAV のカレンダー拡張機能) REPORT および MKCALENDAR が HTTP 要求サンプラーに追加されました。

JDBC リクエスト

ResultSet はオブジェクトとして取得できます。これにより、BeanShell、JSR223 スクリプトなどで結果をより簡単に処理できます。

分散テスト

クラウドで分散テストをより有効に使用できるようにするために、サーバーでテストを開始するときに再試行動作が追加されました。詳しくは こちらをお読みください。

分散テストのパフォーマンス

JMeter 2.13 以降、Stripping モード (StrippingBatch がデフォルト モード) は SubResults からの応答も削除し、消費されるネットワーク帯域幅を改善します。

ドキュメントの更新

Web サイトの新しいスタイル (レスポンシブで最新のもの) が Felix Schumacher によって作成されました。ドキュメントは特に次のように更新されました。

GUI の改善

モジュールコントローラー

モジュール コントローラーは、(コンボ リストではなく) ツリー ビューでターゲット コントローラーを表示するようになりました。

ツールバー

JMeter のツールバーは、一部のアイコン (スタート、トグルなど) で更新されました。アイコンには、22x22、32x32、48x48 の 3 つのサイズが利用できるようになりました。
好みのサイズを定義するプロパティは次のとおりです。

jmeter.toolbar.icons.size=値
値は 22x22 (デフォルト サイズ)、32x32、または 48x48 です。

22x22 ピクセルのアイコンを含むツールバー

32x32 ピクセルのアイコンを含むツールバー

48x48 ピクセルのアイコンを含むツールバー

HTTP(S) テスト スクリプト レコーダー

テスト計画に Recording Controller が含まれていない場合、HTTP(S) Test Script Recorder がサンプルを Recording Controller に送信するように構成されていると、新しい警告メッセージが表示されます。

互換性のない変更

  • 2.13 以降、Aggregate Graph、Summary Report、および Aggregate Report は、GUI に表示されるものとは異なる小数値をエクスポートする前に、パーセンテージを % にエクスポートするようになりました。
  • バグ 57586の修正により、サードパーティのプラグインが影響を受ける可能性があります。親クラスに依存している場合は、HttpTestSampleGui のサブクラスが ItemListener を実装していることを確認してください。
  • レポート パッケージが削除されました。その結果、 ApacheJMeter_report.jarは生成されなくなりました 。Bug 57269を参照してください。

改良点

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 25430 - HTTP(S) テスト スクリプト レコーダー: HTTP Authorization Manager に入力するようにします。一部は 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 (andrey at blazemeter.com) によって実装され、BlazeMeter Ltd. と Pieter Ennes (apache.org at spam.ennes.nl) によって貢献されました。
  • バグ 57500 - 分散テストの再試行動作を導入します。Andrey Pokhilko と Dzimitry Kashlach によって実装され、BlazeMeter Ltd によって貢献されました。

その他のサンプラー

  • バグ 57322 - JDBC テスト要素: ResultHandler を追加して、callable ステートメントによって返される ResultSets(cursors) を処理します。Yngvi Þór Sigurjónsson (gmail.com の blitzkopf) による寄稿

コントローラー

  • バグ 57561 - モジュール コントローラ UI : コンボボックスをツリーに置き換えます。Maciej Franek (gmail.com の maciej.franek) による寄稿
  • バグ 57648 - 作成時に TestFragment を無効にする必要があります。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)

リスナー

  • バグ 55932 - 新しいリスナー (グラファイト、JDBC、コンソールなど) を簡単にプラグインできるように非同期 BackendListener を作成する
  • Bug 57246 - BackendListener : Graphite 実装の作成
  • バグ 57217 - 集計グラフと集計レポートの改善 (3 つの構成可能なパーセンタイル、両方で同じデータ、コードを除外)。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57537 - BackendListener : 実装がサンプルをドロップできるようにする

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

  • バグ 54​​453 - パフォーマンスの向上: __Random 関数で Random を ThreadLocalRandom に置き換える

I18N

全般的

  • バグ 57518 - いくつかのサイズのツールバーのアイコン
  • バグ 57605 - テスト計画の読み込み中にエラーが発生すると、SaveService.loadTreeがnullを返し、呼び出し側で NPE が発生する
  • バグ 57269 - org.apache.jmeter.reportsパッケージを削除
  • バグ 53764 - Web サイト : Web サイトの新しいスタイルを作成する

機能以外の変更

  • 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 (benoit.wiart at gmail.com)
  • コンソール ロガーの JSyntaxTextArea の使用を無効にするプロパティloggerpanel.usejsyntaxtextを追加しました (メモリまたはその他の問題の場合)。
  • バグ 57586 - HttpTestSampleGui: インターフェース ItemListener の実装を削除

バグの修正

HTTP サンプラーとテスト スクリプト レコーダー

  • バグ 57385 - 「Follow Redirects」が設定された HTTP リクエストの xml 結果で空のスレッド名を取得します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57579 - "RETURN_NO_SAMPLE" が使用され (デフォルト)、"Use Cache-Control / Expires header…" が HTTP キャッシュ マネージャーでチェックされている場合、メイン サンプルで NullPointerException エラーが発生する

その他のサンプラー

コントローラー

  • バグ 57447 - 「カスタム DNS リゾルバーを使用する」オプションが有効になっている場合、ユーザーがリストした DNS サーバーのみを使用します。

リスナー

  • バグ 57262 - Aggregate Report、Aggregate Graph、および Summary Report のエクスポート: ヘッダーはラベルの代わりにキーを使用します
  • バグ 57346 - サマライザー: + (差分) レポートに間違った経過時間とスループットが表示される
  • バグ 57449 - Distributed Testing: Stripped モードは、SubResults から応答を削除しません (埋め込みリソースのダウンロードを使用するロード テストに影響します)。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57562 - 結果ツリーの表示 CSS/JQuery テスター: 構文にエラーがあり、jmeter.log に例外が発生しても何も起こらない
  • Bug 57514 - Aggregate Graph、Summary Report、および Aggregate Report が、保存されたファイルに誤ったパーセンテージ レポートを表示する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 57607 - 定数スループット タイマー: 丸め誤差が原因で、共有モードで間違ったスループットが計算される

全般的

  • バグ 57365 - UIManager.setLookAndFeel の呼び出しが遅すぎるため、選択した LAF が正しくセットアップされません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57364 - オプション < ルック アンド フィールはすべての Windows 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 - 古い Unix シェル (Solaris など) との起動スクリプトの互換性を修正

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Ubikロードパック
  • 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)
  • リチャード・ブリガム (teamaol.com の richard.brigham)
  • Pieter Ennes (spam.ennes.nl の apache.org)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。
  • Chaitanya Bhatt (gmail.com の bhatt.chaitanya) は、新しい BackendListener と Graphite Client の実装を徹底的にテストしてくれました。
  • Marcelo Jara (hotmail.com の marcelojara) は Bug 57607 に関する明確な報告をしてくれました。
他の誰かを省略した場合はお詫び申し上げます。

既知のバグ

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0 が表示されます ( Bug 55510を参照)。
  • 一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れる バグ があることに注意してください。
    [java] 警告: ユーザー設定をフラッシュできませんでした:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: サポートされていません: インデント番号
    
    これは JMeter の操作には影響しません。この問題は、Java 7b05 以降で修正されています。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • Linux システム上の Java 1.6 および Gnome 3 では、JMeter メニューが正しく機能しない場合があります (マウスのクリックとメニューの間の移動)。これは既知の Java バグです ( Bug 54477を参照)。回避策は、Java 7 ランタイム (OpenJDK または Oracle JDK) を使用することです。
  • Oracle Java 7 および Mac Book Pro Retina Display では、JMeter GUI がぼやけて見える場合があります。これは Java の既知のバグです。Bug JDK-8000629を参照してください。回避策は、この問題を修正する Java 7 update 40 ランタイムを使用することです。
  • 次のエラーが発生する可能性があります: java.security.cert.CertificateException : 証明書がアルゴリズムの制約に準拠していません。 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

概要

新しくて注目に値する

Java 8 のサポート

現在、JMeter 2.12 は Java 8 に準拠しています。

新しい要素

クリティカル セクション コントローラ

Critical Section Controller を使用すると、ツリー内のセクションの実行をシリアル化できます。テスト中に同時に実行されるセクションのインスタンスは 1 つだけです。

DNS キャッシュ マネージャー

新しい構成要素DNS Cache Manager ( Bug 56841を参照) により、以下のテストが改善されます。

  • CDN (コンテンツ配信ネットワーク)
  • DNS 負荷分散。
  • Amazon Elastic Load Balancer などのロードバランサー

コアの改善

HTTP テスト計画のよりスマートな記録

Test Script Recorder は多くの点で改善されました

  • リクエスト内の変数のマッチングが改善され、Test Script Recorder が記録中にサンプラーをより柔軟に変更できるようになりました
  • 結果ツリーの表示から、記録から除外されたサンプルをフィルタリングする機能。これにより、記録されたサンプラー分析に集中でき、無駄なサンプル結果に煩わされることがなくなります。
  • このバージョンの Recorder は作成されたサンプラーに番号を付けて、View Results Tree で簡単に見つけられるようにするため、レコーディングのデフォルトが改善されました。トランザクション コントローラーの下でのサンプラーのグループ化は、Web ページによって発行されたすべての要求を新しいトランザクション コントローラーとして子にすることで、よりスマートになります。

Webdav リクエストのサポート

HttpRequest の HttpClient4 実装を使用して、WebDav サーバーに対してテストできるようになりました。

埋め込みリソースのより良い処理

埋め込みリソースのダウンロードがチェックされている場合、JMeter はユーザー エージェント ヘッダーを使用して、条件付きコメントについてに従って、条件付きコメント内に埋め込まれたリソースをダウンロードするかどうかを判断します。

キャッシュされたリソースのキャッシュ マネージャー (ブラウザー キャッシュ シミュレーション) の処理を​​カスタマイズする機能

リソースがキャッシュで見つかったときの JMeter の動作を設定できるようになりました。これは、cache_manager.cached_resource_modeプロパティで制御できます。

JMS パブリッシャー / JMS ポイントツーポイント

これらのサンプラーに JMSPriority および JMSExpiration フィールドを追加します。

メールリーダーサンプラー

取得するメッセージの数を指定できるようになりました (すべてのメッセージが取得される前に)。さらに、メッセージ ヘッダーのみをフェッチできるようになりました。

SMTP サンプラー

接続タイムアウトと読み取りタイムアウトをSMTP サンプラーに追加します。

同期タイマー

タイムアウトを追加して、仮想ユーザーのグループを待機する最大時間を定義します。

パフォーマンスの向上

無駄な同期をなくすことで、Functions のパフォーマンスが大幅に向上しました。__StringFromFile、__XPath、および __BeanShell を除くすべての関数に関係します。Bug 57114を参照してください。

競合点を回避するために __jexl2 のパフォーマンスが改善されました 。Bug 56708を参照してください。

GUI の改善

元に戻す/やり直しのサポート

元に戻す/やり直し機能が導入され、ユーザーはテスト計画ツリーで行った変更を元に戻す/やり直すことができます。この機能 (アルファ モード) はデフォルトで無効になっています。有効にするには、プロパティundo.history.size=25を設定します。

結果ツリーを表示

レンダラーの配置を変更し、(プロパティview.results.tree.renderers_orderを使用して)カスタム順序を許可することにより、View Results Tree の人間工学を改善します。

応答時間グラフ

Response Time Graphリスナーがその設定を jmx ファイルに保存/復元する機能を追加します。

ログビューア

このバージョン以降、JMeter のログ ファイル (jmeter.log) の最後の行は、右上隅の [警告] アイコンをクリックして、GUI で直接表示できます。これにより、ログ ビューアー パネルが展開され、ログが表示されます。

ファイルを開く

「ファイルを開くダイアログ」は、最後に開いたファイル フォルダーを開始フォルダーとして使用するようになりました 。Bug 52707を参照してください。

既知のバグ

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0 が表示されます ( Bug 55510を参照)。
  • 一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れる バグ があることに注意してください。
    [java] 警告: ユーザー設定をフラッシュできませんでした:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: サポートされていません: インデント番号
    
    これは JMeter の操作には影響しません。この問題は、Java 7b05 以降で修正されています。
  • 一部の Windows システムでは、次の警告が表示される場合があることに注意してください。
    java.util.prefs.WindowsPreferences
    警告: ルート 0 で設定ルート ノード Software\JavaSoft\Prefs を開く/作成できませんでした
    x80000002。Windows RegCreateKeyEx(…) がエラー コード 5 を返しました。
    
    修正は、JMeter を管理者として実行することです。レジストリ キーが作成されます。その後、通常のユーザーとして JMeter を再起動すると、警告は表示されなくなります。
  • Linux システム上の Java 1.6 および Gnome 3 では、JMeter メニューが正しく機能しない場合があります (マウスのクリックとメニューの間の移動)。これは既知の Java バグです ( Bug 54477を参照)。回避策は、Java 7 ランタイム (OpenJDK または Oracle JDK) を使用することです。
  • Oracle Java 7 および Mac Book Pro Retina Display では、JMeter GUI がぼやけて見える場合があります。これは Java の既知のバグです。Bug JDK-8000629を参照してください。回避策は、この問題を修正する Java 7 update 40 ランタイムを使用することです。
  • 次のエラーが発生する可能性があります: java.security.cert.CertificateException : 証明書がアルゴリズムの制約に準拠していません。 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 の結果に保存されます 。Bug 57025を参照してください。テスト中に実行中のスレッドの数が必要なため、これは通常予想される動作です。ただし、以前の動作に戻したい場合は、プロパティjmeter.save.saveservice.thread_counts=falseを設定します。
  • JMeter 2.12 以降、メール リーダー サンプラーは、取得したメッセージ数ではなく、サンプル数として 1 を表示します 。Bug 56539を参照してください
  • JMeter 2.12 以降、キャッシュ マネージャーを使用する場合、キャッシュ内にリソースが見つかった場合、SampleResult は作成されません。以前のバージョンでは、空のコンテンツと 204 リターン コードを含む SampleResult が返されました。Bug 54778 を参照して ください。このケースを処理するさまざまな方法から選択できます。 jmeter.propertiescache_manager.cached_resource_modeを参照してください。
  • JMeter 2.12 以降、Log Viewer を閉じてもログをクリアしなくなり、閉じてもログを利用できるようになりました。 バグ 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 - ターゲット コントローラーのコンボ リストの幅は、コントローラーのラベル サイズではなく、現在のパネル サイズに設定する必要があります。
  • バグ 54​​778 - リソースがキャッシュで見つかった場合、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 - メール リーダー サンプラー: Number of messages to retrieve が 1 より大きい場合、Number of samples は、取得されたメッセージの数ではなく 1 のみを表示する必要があります
  • バグ 56809 - JMSSampler が InitialContext を閉じるのが早すぎる。Bradford Hovinen (hovinen at gmail.com) による寄稿
  • バグ 56761 - JMeter がすでに停止している JMS 接続を停止しようとし、「接続が閉じられました」と表示される
  • バグ 57068 - テスト アクションに負の期間を入力してもエラーがスローされない
  • バグ 57078 - タイプのない入力を含むページを LagartoBasedHTMLParser が解析できない
  • バグ 57183 - JMSSampler: 入力文字列の場合: "" java.lang.NumberFormatException (有効期限または優先度フィールドの場合)

コントローラー

  • バグ 56243 - 以降の繰り返しで、foreach がインデックスで正しく動作しない
  • バグ 56276 - ループ カウントがゼロに評価されると、ループ コントローラーが壊れる
  • バグ 56160 - IfController 内で WhileController を使用すると StackOverflowError が発生する
  • バグ 56811 - 結果ステータス アクション ハンドラーまたはスレッド グループの「次のスレッド ループを開始」およびテスト アクションの「次のループ反復に移動」は、「親サンプラーの生成」がオンになっている TransactionController で正しく動作しません。

リスナー

  • バグ 56706 - SampleResult#getResponseDataAsString() は、PostProcessors および ViewResultsTree に影響を与える応答本文でエンコーディングを使用しません。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57052 - ArithmeticException: / sampleCount が 0 の場合はゼロ

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 56162 - HTTP キャッシュ マネージャーは PUT/POST などをキャッシュすべきではありません。
  • バグ 56227 - AssertionGUI: マウス選択時のアサーションの NPE
  • バグ 41319 - URLRewritingModifier : パラメータ値を URL エンコードできるようにする

機能

I18N

  • バグ 56111 - ドイツ語翻訳の「コメント」が正しくない

全般的

  • バグ 56059 - TextAreaEditor を使用すると、古い TestBeans が 2.11 と互換性がない
  • バグ 56080 - Java 8 Early Access Build での変換エラー com.thoughtworks.xstream.converters.ConversionException
  • バグ 56182 - bshclient.jar を使用して bsh スクリプトをトリガーできません。ソケットが予期せず閉じられました
  • バグ 56360 - HashTree と ListedHashTree が Java 8 でコンパイルに失敗する
  • バグ 56419 - JMeter が暗黙のうちに結果の保存に失敗する
  • バグ 56662 - リスナーで xml として保存が記憶されない
  • バグ 56367 - Maven Central 上の JMeter 2.11 が存在しない依存関係をトリガーする rsyntaxtextarea 2.5.1、2.5.3 にアップグレード
  • バグ 56743 - mail2.xml の間違ったメーリング リスト アーカイブ。Felix Schumacher (internetallee.de の felix.schumacher) による寄稿
  • バグ 56763 - JMeter で使用されていない Oracle アイコンの削除 (およびライセンスの欠落)
  • バグ 54​​100 - 言語の切り替えがツールバー ボタンの状態 (有効/無効) を保持できない
  • バグ 54​​648 - ツリーの要素で 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 の問題により Test Script Recorder が失敗した場合のエラー メッセージを改善
  • バグ 52013 - Test Script Recorder の子ビューの結果ツリーで、Test Script Recorder の除外 URL/包含 URL が考慮されません。James Liang のレポートと分析に基づく
  • バグ 56119 - タイマーを使用すると、ファイルのアップロードが 1 回おきに失敗します。Keep-Alive ヘッダーを送信しないサーバーのアイドル タイムアウトを有効にします。
  • バグ 56272 - MirrorServer はステータスとリダイレクトのクエリ パラメータをサポートする必要があります
  • バグ 56772 - 埋め込みリソースの解析時に IE の条件付きコメントを処理する
  • バグ 57026 - HTTP(S) テスト スクリプト レコーダー: デフォルト設定の改善。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57107 - パッチの提案: DAV 動詞を HTTP サンプラーに追加します。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 - Response Time Graph リスナーがフォーマット設定を jmx ファイルに保存/復元する機能を追加
  • バグ 57025 - SaveService : デフォルトの改善、デフォルトでスレッド数を保存

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 56691 - タイマーの同期: 待機時にタイムアウトを追加
  • バグ 56701 - HTTP Authorization Manager/Kerberos 認証: サーバー ポートが 80 でも 443 でもない場合に SPN にポートを追加します。Dan Haughey (swinton.co.uk の dan.haughey) と Felix Schumacher (internetallee の felix.schumacher) からのパッチに基づいています。 de)
  • バグ 56841 - 新しい構成要素: CDN のテストを改善するための DNS キャッシュ マネージャー。Dzmitry Kashlach (gmail.com の dzmitrykashlach) からのパッチに基づいており、BlazeMeter Ltd によって寄贈されました。
  • バグ 52061 - Regex Extractor でリクエスト ヘッダーへのアクセスを許可します。Dzmitry Kashlach (gmail.com の dzmitrykashlach) からのパッチに基づいており、BlazeMeter Ltd によって寄贈されました。

機能

  • バグ 56708 - __jexl2 が複数の CPU コアに対応していません。Mikhail Epikhin (yandex.ru の epihin-m) によって提供された分析とパッチに基づく
  • バグ 57114 - パフォーマンス : インスタンス変数としてのみ値を持つ関数は、実行を同期してはなりません。Ubik Load Pack サポートと Vladimir Sitnikov による分析に基づき、Vladimir Sitnikov によって提供されたパッチ (sitnikov.vladimir at gmail.com)

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 による寄稿 (apc4 at ya.ru)
  • バグ 56921 - テンプレート : 埋め込みリソースの大文字と小文字および URL パラメーターを無視するように記録テンプレートを改善します。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 42248 - テスト計画ツリーの変更に対する取り消しとやり直しのサポート。Andrey Pohilko (apc4 at ya.ru) によって開発され、BlazeMeter Ltd によって貢献されました。Ubik Load Pack による追加の貢献 (ubikloadpack.com でのサポート)
  • バグ 56920 - LogViewer : 閉じている場合でもすべてのログ イベントを受信するようにします。Ubik Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 57083 - CachedResourceMode 列挙を簡素化しました。Graham Russel による寄稿 (graham at ham1.co.uk)
  • バグ 57082 - ComboStringEditor : equals を上書きする内部クラスに hashCode を追加しました。Graham Russel による寄稿 (graham at ham1.co.uk)
  • バグ 57081 - java、xml、xsd、dtd、htm、html、および txt ファイル (画像ではありません!) のタブのみをチェックするように checkstyle を更新します。Graham Russell による寄稿 (graham at ham1.co.uk)
  • バグ 56178 - プロキシ証明書を生成する前に、ユーザー名のバックスラッシュを実際に置き換えます。Graham Russel による寄稿 (graham at ham1.co.uk)
  • バグ 57084 - BeanShellClient での使用後にソケットを閉じます。Graham Russel による寄稿 (graham at ham1.co.uk)

機能以外の変更

  • バグ 57117 - HTTPS Test Script Recorder のデフォルト暗号を 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 (ebourg at apache.org)
  • Nicola Ambrosetti (gmail.com の ambrosetti.nicola)
  • Ubikロードパック
  • ミハイル・エピキン(yandex.ruのepihin-m)
  • Dan Haughey (swinton.co.uk の dan.haughey)
  • Felix Schumacher (internetallee.de の felix.schumacher)
  • Dzmitry Kashlach (gmail.com の dzmitrykashlach)
  • アンドレイ・ポヒルコ (apc4 at ya.ru)
  • Bradford Hovinen (gmail.com の hovinen)
  • ブレイズメーター株式会社
  • グラハム・ラッセル (グラハム at ham1.co.uk)
  • Philippe Jung (famille-jung.fr の apache)
  • Vladimir Sitnikov (sitnikov.vladimir at gmail.com)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。 他の誰かを省略した場合はお詫び申し上げます。

バージョン 2.11

概要

新しくて注目に値する

HTTP(S) テスト スクリプト レコーダーの改善

JMeter 2.10 で HTTP(S) Test Script Recorder に導入された主要な変更以降、次の改善が行われました。

  • keytool ユーティリティの欠落または無効な構成の検出の向上
  • 新しいシステム プロパティkeytool.directory ( system.propertiesを参照) を使用すると、非標準インストールの場合に keytool を含むディレクトリを構成できます

JMS パブリッシャー/ポイント ツー ポイント: JMS ヘッダー プロパティに型付きの値を設定する機能を追加

サンプラーの JMS パブリッシャーおよび JMS ポイントツーポイントで、JMS ヘッダー プロパティの値のクラスを設定できるようになりました。以前は文字列のみが可能でした。

結果ツリーの表示 : XPath テスターの追加

View Results Tree リスナーでは、新しい XPath テスターを使用して XPATH 式をテストできます。

相互 SSL 認証テストをより柔軟に行えるように、JsseSslManager で証明書キーのクライアント エイリアスを選択する機能

クライアントベースの証明書認証をテストする場合、新しいフィールド「証明書エイリアスを保持する変数名」を使用して、使用する証明書をより適切に制御できるようになりました。このフィールドでは、サーバーに送信して認証する証明書を選択できます。変数値のホルダーとして CSV データ セットを使用できます。

「テストフラグメントとして保存」オプションを追加

ファイル メニューの新しいオプションを使用すると、要素のグループをテスト フラグメントとして保存できます。

非 GUI モードでは、サマライザーがデフォルトで有効になっています。

コマンド ラインから JMeter を実行すると、JMeter は Summariser モードからの統計を表示するようになりました。

トランザクション コントローラー: 新しく作成された要素のデフォルト プロパティ「タイマーの期間を含める…」を変更

2.11 以降、トランザクション コントローラーは、タイマーが一時停止している限り、プリ/ポスト プロセッサの処理時間を除外するようにデフォルトで構成されています。

既知のバグ

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • If Controller に最初の反復から常に false である条件がある場合、リスナーは反復回数を表示しません ( Bug 52496を参照)。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。スレッドの総数は、ローカルで実行されたテストにのみ適用されます。それ以外の場合は、0 が表示されます ( Bug 55510を参照)。
  • 一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れる バグ があることに注意してください。
    [java] 警告: ユーザー設定をフラッシュできませんでした:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: サポートされていません: インデント番号
    
    これは JMeter の操作には影響しません。この問題は、Java 7b05 以降で修正されています。
  • Linux システム上の Java 1.6 および Gnome 3 では、JMeter メニューが正しく機能しない場合があります (マウスのクリックとメニューの間の移動)。これは既知の Java バグです ( Bug 54477を参照)。回避策は、Java 7 ランタイム (OpenJDK または Oracle JDK) を使用することです。
  • Oracle Java 7 および Mac Book Pro Retina Display では、JMeter GUI がぼやけて見える場合があります。これは Java の既知のバグです。Bug JDK-8000629を参照してください。回避策は、この問題を修正する Java 7 update 40 ランタイムを使用することです。

互換性のない変更

  • 新しいトランザクション コントローラーを作成する場合、バージョン 2.11 以降、プロパティ [生成されたサンプルにタイマーとプリポスト プロセッサの期間を含める] のチェックが外されます。
  • 非 GUI モードでは、2.11 サマライザーが 30 秒間隔で有効になっているため、
  • JMeter はリダイレクト処理に関してより寛大であり、相対位置を許可することで RFC2616 を緩和しています。この動作を変更するには、 jmeter.propertiesのプロパティ「jmeter.httpclient.strict_rfc2616」を参照してください。Bug 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 - 応答アサーション: パフォーマンス向上のため、作成時にパターン マッチング ルールのデフォルトを部分文字列に変更
  • バグ 54​​977 - 相互 SSL 認証テストをより柔軟にするために、JsseSslManager で証明書キーのクライアント エイリアスを選択する機能。UBIK Load Pack による寄稿 (ubikloadpack.com でサポート)

機能

I18N

全般的

  • バグ 55693 - 「テストフラグメントとして保存」オプションを追加
  • バグ 55753 - FilePanel の動作を改善し、Filename フィールドに設定された値がある場合はそこから開始するようにしました。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-core-3.4.9.jar に更新され、(3.4.9 から) jodd-lagarto-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 (john_natsioulas at yahoo.com.au)
  • アントニオ・ゴメス・ロドリゲス (gmail.com の ra0077)
他の誰かを省略した場合はお詫び申し上げます。

バージョン 2.10

概要

新しくて注目に値する

コアの改善

新しいパフォーマンスの改善

  • 高スループット テスト (一時停止なし) でパフォーマンスが大幅に改善されました 。Bug 54777を参照してください。
  • 不必要な SSL コンテキストのリセットに関する問題が修正され、純粋な HTTP テストのパフォーマンスが向上しました 。Bug 55023を参照してください。
  • JODD/Lagarto HTML パーサーへの切り替えによる、HTML ページの埋め込みリソースの解析における重要なパフォーマンスの向上 ( Bug 55632を参照)

ビュー ツリー結果の新しい CSS/JQuery テスター

View Tree Results の新しい CSS/JQuery Tester により、CSS/JQuery Extractor が JMeter の第一級市民になります。式を非常に簡単にテストできるようになりました。

HTTP(S) 記録の多くの改善が行われました

「HTTP Proxy Server」テスト要素は、「HTTP(S) Test Script Recorder」に名前が変更されました。

新しい MongoDB Source Config を介してテスト MongoDB をロードできるようになりました

Auth Manager に Kerberos 認証が追加されました

ソース IP アドレスに加えてデバイスを使用できるようになりました

新しい MongoDB スクリプトを使用して、MongoDB スクリプトの機能テストを実行できるようになりました

OS Process Sampler にタイムアウトが追加されました

JDBC リクエストにクエリタイムアウトが追加されました

新しい関数 (__urlencode および __urldecode) を使用して、URL でエンコードされた文字をエンコード/デコードできるようになりました

テスト終了後に非 GUI JVM を強制的に終了させる新しいフラグの追加により、継続的インテグレーションが容易になりました

jmeter プロパティを参照してください。

jmeterengine.force.system.exit

HttpSampler では、DELETE Http メソッドが本体を持つことができるようになりました (HC4 および HC31 実装で機能します)。これにより、たとえば Elastic Search API をテストできます

埋め込みリソースの解析を改善するために、HtmlParser の 2 つの実装が追加されました。

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 が改善され、参照されたコントローラーへの変更をより適切に処理できるようになりました

クラスローダーの設定を改善しました 。Bug 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 Sampler が構成エラーの詳細を提供するようになりました

既知のバグ

  • 1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。
  • If Controller に最初の反復から常に false である条件がある場合、リスナーは反復回数を表示しません ( Bug 52496を参照)。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。
  • Webservice sampler は、HTTP 応答ステータスを考慮して応答のステータスを計算しないため、空でない本文を含む応答 500 は成功と見なされます 。Bug 54006を参照してください。この問題を回避するには、常に応答を読み、応答アサーション チェック テキストを応答内に追加してください。
  • 緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。これらは、ローカルで実行されるテストにのみ適用されます。クライアントサーバーモードの使用時にリモートシステムで開始されたスレッドは含まれません ( Bug 54152を参照)。
  • 一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れる バグ があることに注意してください。
    [java] 警告: ユーザー設定をフラッシュできませんでした:
     java.util.prefs.BackingStoreException:
     java.lang.IllegalArgumentException: サポートされていません: インデント番号
    
    これは JMeter の操作には影響しません。この問題は、Java 7b05 以降で修正されています。
  • Linux システム上の Java 1.6 および Gnome 3 では、JMeter メニューが正しく機能しない場合があります (マウスのクリックとメニューの間の移動)。これは既知の Java バグです ( Bug 54477を参照)。回避策は、Java 7 ランタイム (OpenJDK または Oracle JDK) を使用することです。
  • Oracle Java 7 および Mac Book Pro Retina Display では、JMeter GUI がぼやけて見える場合があります。これは Java の既知のバグです。Bug JDK-8000629を参照してください。回避策は、この問題を修正する Java 7 update 40 ランタイムを使用することです。

互換性のない変更

  • 件名フィールドが空の場合、SMTP サンプラーは eml ファイルの件名を使用するようになりました
  • このバージョンでは、テスト結果の書き込みを担当する PrintWriter で autoFlush がオフになっています。これにより、集中的なテストのスループットが向上しますが、JMeter がクラッシュした場合 (非常にまれ) に、より多くのテスト データが失われる可能性があります。以前の動作に戻すには、jmeter.save.saveservice.autoflushプロパティをtrueに設定します。
  • 関数ヘルパー ダイアログ のショートカットはCTRL+SHIFT+F1 (Mac OS では CMD + SHIFT + F1) になりました。元のキー シーケンス(Ctrl+F1)は、一部の場所で機能しませんでした (Java Swing ToolTipManager によって消費されます)。したがって、ショートカットを変更する必要がありました。
  • Web サービス (SOAP) リクエストは、Element が廃止されたため、デフォルトで GUI から削除されました。(本文データでHTTP リクエスト を使用します。SOAP Web サービスのテスト計画を作成するテンプレートも参照してください)、表示する必要がある場合は、jmeter.properties のプロパティ not_in_menu を参照ください。
  • トランザクション コントローラーは、生成された親サンプラーの応答コード (生成された親サンプラーがチェックされている場合) を、子の 1 つが失敗した場合に最初に失敗した子の応答コードに設定するようになりました。以前のバージョンでは、応答コードは空でした。
  • 以前のバージョンでは、IncludeControllerはThread Group内にある Test Elements を実行できました。この動作 (ドキュメント化されていません) により、奇妙な動作が発生する可能性がありました。このバージョンでは削除されました ( Bug 55464を参照)。Test Elements を含める正しい方法は、 Include Controllerのドキュメントに記載されているようにTest Fragmentを使用することです。
  • HttpClient 3.1 および HttpClient 4.x サンプラーの再試行回数が0に変更されました。以前のデフォルトは 1 で、予期しない追加のトラフィックが発生する可能性がありました。
  • このバージョン以降、HTTP(S) Test Script Recorderは、サンプルが以前のリダイレクトの結果である場合を検出しようとします。現在の応答がリダイレクトの場合、JMeter はリダイレクト URL を保存します。次のリクエストが受信されると、保存されたリダイレクト URL と比較され、一致する場合、JMeter は生成されたサンプルを無効にします。以前の動作に戻すには、プロパティproxy.redirect.disabling=falseを設定します
  • このバージョン以降、HTTP(S) テスト スクリプト レコーダーで、Grouping がPut each group in a new Transaction Controllerに設定されている場合、Recorder は、 Include duration of timer and pre-post processor in generated sampleを false に設定してTransaction Controllerインスタンスを作成します。 . このデフォルト値は、より正確な応答時間を反映しています。
  • __escapeOroRegexpChars関数 (ORO 予約文字をエスケープする) が値をトリムしなくなりました ( Bug 55328を参照) 。
  • commons-lang-2.6.jarは、実行時に JMeter で必要とされないため、 jmeter/libフォルダーの組み込みライブラリから削除されました (ドキュメントを生成するために Apache Velocity でのみ使用されます)。それに依存するプラグインまたはサードパーティのコードを使用する場合は、jmeter/libフォルダー に追加する必要があります。

バグの修正

HTTP サンプラーとプロキシ

  • バグ 54​​627 - JMeter プロキシ GUI: 長い名前のサンプラーがある場合、サンプラー設定のタイプが画面全体を占有します。
  • バグ 54​​629 - HTMLParser が <object> タグの URL を抽出しません。
  • バグ 55023 - SSL コンテキストの再利用機能 (51380) は、非 SSL リクエストのパフォーマンス/スループットに悪影響を及ぼします。Brent Cromarty (brent.cromarty at yahoo.ca) による分析に基づく
  • バグ 55092 - 埋め込まれたリソース URL の形式が正しくない場合、ログ メッセージ「WARN - jmeter.protocol.http.sampler.HTTPSamplerBase: Null URL detected (should not occur)」が表示されます。
  • バグ 55161 - SoapSampler.setPostHeaders での無駄な処理。Adrian Nistor (illinois.edu の nistor1) による寄稿
  • バグ 54​​482 - HC が、エンコードされていない文字を含むリダイレクトに従うことができません。
  • バグ 54​​142 - パスに「|」が含まれていると、HTTP プロキシ サーバーが例外をスローする キャラクター。
  • バグ 55388 - HC3 では、IP ソース フィールドで httpclient.localaddress をオーバーライドできません。
  • バグ 55450 - HEAD リダイレクトは HEAD のままにする必要があります
  • バグ 55455 - HTTPClient4 での HTTPS が cps 設定を無視する
  • バグ 55502 - 記録時にプロキシが空の http:// エントリを生成する
  • バグ 55504 - ブラウザーが証明書のオーバーライドを要求するときに、プロキシーが誤って CONNECT 要求を発行する
  • バグ 55506 - プロキシは失敗したリクエストを構成済みのリスナーに配信する必要があります
  • バグ 55545 - HTTP プロキシ サーバー GUI では、[フォロー] と [自動リダイレクト] の両方を選択できません。

その他のサンプラー

  • バグ 54​​913 - JMSPublisherGui が誤ってその状態を復元します。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 55027 - テスト アクションのリグレッション、期間の値が記録されない (ナイトリー ビルド)。
  • バグ 55163 - BeanShellTestElement は、testStarted(String)/testEnded(String) を呼び出すときに文字列を引用できません。
  • バグ 55349 - 入力ファイルが指定されておらず、アプリケーションが入力を要求すると、NativeCommand がハングします。
  • バグ 55462 - サンプルが失敗した場合、System Sampler はサンプラーのラベルを変更すべきではありません

コントローラー

  • バグ 54​​467 - ループ コントローラー: 親反復ごとに 1 回だけループ値を計算します。
  • バグ 54​​985 - トランザクション コントローラーが、生成された親サンプラーの応答コードを、その子の 1 つが失敗した場合に最初に失敗した子の応答コードに設定するようにします。Mikhail Epikhin (yandex.ru の epihin-m) による寄稿
  • バグ 54​​950 - ModuleController : 最初の実行後に変更が発生し、参照ノードが無効になっている場合、参照モジュールへの変更は考慮されません。
  • バグ 55201 - ForEach コントローラーは開始インデックスを除外し、終了インデックスを含めます (明確化されたドキュメント)。
  • バグ 55334 - TestPlan を保存せずにインクルード コントローラーをテスト計画 (インクルード コントローラーで作成) に追加すると、保存するまでインクルードされたコードが考慮されません。
  • バグ 55375 - 名前がターゲット ノードと同じ場合、非 GUI モードの ModuleController で StackOverflowError が発生します。
  • バグ 55464 - 含まれているスレッド グループを実行しているコントローラーを含める

リスナー

  • バグ 54​​589 - HTML ページで 2 バイト文字セットが使用されている場合、結果ツリーの表示に多くの文字化けが含まれます。
  • バグ 54​​753 - 統計モードの使用時に key_on_threadname=false の場合、SampleResult.getSampleLabel() で StringIndexOutOfBoundsException が発生します。
  • バグ 54​​685 - "sample_variable" がクライアントで設定されているがサーバーで設定されていない場合、ArrayIndexOutOfBoundsException が発生します。
  • バグ 55111 - ViewResultsTree: 垂直スクロールバーが必要な場合、テキストが再調整されません。ミランバーによる寄稿

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 54​​540 - 「HTML パラメーター マスク」は、IHM で非推奨としてマークされていません。
  • バグ 54​​575 - CSS/JQuery Extractor : JODD 実装を選択すると、常に JSOUP が使用されます。
  • バグ 54​​901 - レスポンス アサーション GUI の動作がおかしい。
  • バグ 54​​924 - XMLAssertion は、応答エンコーディングの代わりに JMeter JVM file.encoding を使用し、threadlocal 変数を消去しません。
  • バグ 53679 - ローカリゼーションでのコンスタント スループット タイマーのバグ。ルドビク・ガルシアによる報告

機能

  • バグ 55328 - __escapeOroRegexpChars はスペースをトリムします。

I18N

  • バグ 55437 - ComboStringEditor は、言語の変更時に EDIT および UNDEFINED 文字列を変換しません
  • バグ 55501 - __char 関数のフランス語記述のエンコードが正しくありません。Antonio Gomes Rodrigues による寄稿 (gmail.com の ra0077)

全般的

  • バグ 54​​504 - リソース文字列が見つかりません: [clipboard_node_read_error]。
  • バグ 54​​538 - GUI: コンテキスト メニューが大きすぎます。
  • バグ 54​​847 - ツリーの複数選択でカット アンド ペーストが壊れます。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​870 - ツリーのドラッグ アンド ドロップでリーフ ノードが失われる場合があります (ナイトリー ビルドに影響します)。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 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 タスクが失敗します。アントニオ・ゴメス・ロドリゲスの寄稿。
  • バグ 55427 - TestBeanHelper は、GenericTestBeanCustomizer でサポートされていないプロパティを無視する必要があります
  • バグ 55459 - ユーザーが別のテスト要素を選択すると、ComboStringEditor を使用する要素が入力値を失う
  • バグ 54​​152 - 分散テスト: activeThreads が GUI と Summariser で常に 0 を表示する
  • バグ 55509 - リモート スレッド番号の進行状況をプラグインに通知できるようにする
  • バグ 55572 - コンテンツが表示を超えると、パラメーターの詳細ポップアップにスクロールバーが表示されない
  • バグ 55580 - <a href="#"> リンクの開始時にヘルプ ペインがスクロールしない
  • バグ 55600 - JSyntaxTextArea : 最初の元に戻すときの奇妙な動作
  • バグ 55655 - 1 つのエンジンが正しく開始されなかった場合、リモートが /shutdown all を停止すると、NullPointerException が発生します。UBIK Load Pack による寄稿 (ubikloadpack.com でサポート)
  • バグ 55657 - リモートおよびローカルの停止/シャットダウン ボタンの状態が、ローカル/リモートの状態を考慮していない

改良点

HTTP サンプラーとプロキシ

  • HTTP リクエスト: 行パラメーターの詳細ボックスでのユーザー操作の小さな改善。ミランバーによる寄稿
  • バグ 55255 - HTTP DELETE メソッドの Body が、それを使用する API (ElasticSearch など) をサポートできるようにします。
  • バグ 53480 - Kerberos サポートを Http Sampler (HttpClient4) に追加します。Felix Schumacher (internetallee.de の felix.schumacher) によるパッチに基づく
  • バグ 54​​874 - ソース IP アドレスに加えてデバイスをサポートします。Dan Fruehauf (malkodan at gmail.com) によるパッチに基づく
  • バグ 55488 - .ico および .woff ファイル拡張子を、プロキシ レコーダーで推奨されるデフォルトの除外に追加します。アントニオ・ゴメス・ロドリゲスによる寄稿
  • バグ 55525 - プロキシはキーサーバー エントリのエイリアスをサポートする必要があります
  • バグ 55531 - プロキシの記録とリダイレクト。リダイレクトされたサンプルを無効にするコードを追加しました。
  • バグ 55507 - プロキシ SSL 記録が外部埋め込みリソースを適切に処理しない
  • バグ 55632 - パフォーマンスが向上した埋め込みリソースの解析用に htmlParser を新たに実装
  • バグ 55653 - HTTP(S) テスト スクリプト レコーダーは、TransactionController プロパティ「生成されたサンプルにタイマーとプリポスト プロセッサの期間を含める」を false に設定する必要があります。

その他のサンプラー

  • バグ 54​​788 - JMS Point-to-Point Sampler - GUI の機能強化により、読みやすさと使いやすさが向上しました。Bruno Antunes (gmail.com の bmantunes) による寄稿
  • バグ 54​​798 - SMTP Sampler の EML ファイルから件名を使用します。Mikhail Epikhin (yandex.ru の epihin-m) による寄稿
  • バグ 54​​759 - HTTPS を使用した SSLPeerUnverifiedException のプロパティが文書化されました。
  • バグ 54​​896 - JUnit サンプラーは、コンストラクターの問題で「クラスのインスタンスを作成できませんでした」というメッセージしか表示しません。
  • バグ 55084 - JDBC リクエストのタイムアウト サポートを追加します。Mikhail Epikhin (yandex.ru の epihin-m) による寄稿
  • バグ 55403 - OS サンプラーの機能強化: タイムアウトのサポート
  • バグ 55518 - 「Prepared Select ステートメント」、「Prepared Update ステートメント」、または「Callable ステートメント」クエリ タイプが選択されている場合に、接続ごとにキャッシュされる PreparedStatements の数を制限する機能を追加します

コントローラー

  • バグ 54​​271 - テスト計画の名前を変更すると、モジュール コントローラーが壊れます。

リスナー

  • バグ 54​​532 - 大きな値または小さな値 (< 1000ms) を使用して応答時間グラフの Y 軸スケールを改善します。増分スケールを定義する新しいフィールドを追加します。Luca Maragnani (gmail.com の luca.maragnani) によるパッチに基づいて Milamber によって寄稿されました。
  • バグ 54​​576 - 結果ツリーの表示: CSS/JQuery テスターを追加します。
  • バグ 54​​777 - デフォルトの ResultCollector のパフォーマンスを改善します。Mikhail Epikhin (yandex.ru の epihin-m) によるパッチに基づく
  • バグ 55389 - リクエスト データに IP ソース アドレスを表示する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 54​​789 - XPath アサーション - GUI の機能強化により、読みやすさと使いやすさが向上しました。

機能

  • バグ 54​​991 - URL でエンコードされた文字 (__urlencode および __urldecode) をエンコード/デコードする関数を追加します。ミランバーによる寄稿。

I18N

  • バグ 55241 - ローカライズされた表示文字列を持つ Enum に基づくフィールドを処理するには GUI エディターが必要
  • バグ 55440 - ComboStringEditor では、言語に依存するタグを許可する必要があります
  • バグ 55432 - 言語を切り替えると、CSV データセット構成が共有モードを失う

全般的

  • バグ 54​​584 - MongoDB プラグイン。Jan Paul Ettles (gmail.com の janpaulettles) によるパッチに基づく
  • バグ 54​​669 - テスト後に非 GUI JVM を強制的に終了させるフラグを追加します。スコット・エモンズによる寄稿
  • バグ 42428 - テスト計画でワークベンチが保存されない。Dzmitry Kashlach (dzmitrykashlach at gmail.com) による寄稿
  • バグ 54​​825 - ツリー内の要素を移動するためのショートカットを追加します。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​834 - jmeter ツリーでのドラッグ アンド ドロップを改善します。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​839 - Mac でアプリケーション名を設定します。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​841 - Mac OS (CMD-Q) で終了ショートカットを正しく処理します。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​844 - Mac OS でアプリケーション アイコンを設定します。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​864 - Shift または Control を放す前にドラッグを開始しなくても、ツリーで複数選択のドラッグ アンド ドロップを有効にします。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​945 - シャットダウン フックを追加して、kill または CTRL+C シグナルのトラップを有効にします。
  • バグ 54​​990 - 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 - テンプレート システムは相対ファイル名エントリをサポートする必要があります。
  • バグ 55423 - BatchSampleSender: listener.processBatch を同期ブロックの外に移動して、ロックの粒度を減らします
  • バグ 55424 - 既存の SampleSender にストリッピングを追加
  • バグ 55451 - テキスト コンテンツがスクロールバーを追加するのに十分な長さの場合、JSyntaxTextArea を使用してエレメント GUI をテストします。
  • バグ 55513 - 出力ストリームを閉じるため、System.err または System.out で StreamCopier を使用できない
  • バグ 55514 - SystemCommand は任意の入力および出力ストリームをサポートする必要があります
  • バグ 55515 - SystemCommand はコマンドの連鎖をサポートする必要があります
  • バグ 55606 - Http リクエスト、JMS テスト要素に JSyntaxtTextArea を使用する
  • バグ 55651 - JMeter アプリケーション アイコンを Apache プルーム アイコンに変更

機能以外の変更

  • jsoup-1.7.2 に更新
  • バグ 54​​776 - Bouncy Castle への依存関係を 1.48 に更新します。Emmanuel Bourg (ebourg at apache.org) による寄稿
  • 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 から)
  • バグ 54​​912 - JMeterTreeListener は定数を使用する必要があります。寄稿者 Benoit Wiart (benoit.wiart at gmail.com)
  • バグ 54​​903 - アクティベーション フレームワークへの依存関係を削除します。Emmanuel Bourg (ebourg at apache.org) による寄稿
  • commons-lang (2.6) は Velocity でのみ必要なため、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 (benoit.wiart at gmail.com)
  • バグ 55623 - 無効/予期しない設定値を黙って無視すべきではない
  • バグ 55626 - HTTP Proxy Server の名前を HTTP(S) Test Script Recorder に変更する

ありがとう

上記のバグと改善のセクションに記載されているすべての貢献者に感謝します。

  • Bruno Antunes (gmail.com の bmantunes)
  • Emmanuel Bourg (ebourg at apache.org)
  • スコット・エモンズ
  • ミハイル・エピキン(yandex.ruのepihin-m)
  • Dzmitry Kashlach (gmail.com の dzmitrykashlach)
  • Luca Maragnani (gmail.com の luca.maragnani)
  • ミランバー
  • Adrian Nistor (illinois.edu の nistor1)
  • アントニオ・ゴメス・ロドリゲス (gmail.com の ra0077)
  • UBIK ロード パック (ubikloadpack.com でサポート)
  • Benoit Wiart (gmail.com の benoit.wiart)

また、JMeter の改善にご協力いただいたバグ報告者の皆様にも感謝いたします。
このリリースでは、修正後に行われた明確なレポートとテストについて、次のレポーターに特に感謝します。
  • Immanuel Hayden (gmail.com の immanuel.hayden)
  • Danny Lade (web.de の drade)
  • ブレント・クロマーティ (brent.cromarty at yahoo.ca)
  • Wolfgang Heider (racon.at の wolfgang.heider)
  • Shmuel Krakower (gmail.com の shmulikk)
他の誰かを省略した場合はお詫び申し上げます。

バージョン 2.9

新しくて注目に値する

コアの改善:

* CSS または jquery のようなセレクター構文を使用する新しい Extractor が導入されました。これにより、JODD または JSOUP 実装のいずれかを使用できます。

結果: JMeter 変数のページのタイトル

* JMeter は、さまざまな要素内でさまざまな種類のドキュメント (PDF、MsOffice ファイル、Apache OpenOffice のファイルなど) を処理できるようになりました。

  • 正規表現エクストラクタ、ドキュメントからテキストを抽出
  • アサーション レスポンス、ドキュメント内のテキストをチェック
  • 結果ツリーを表示し、ドキュメントをテキストとして表示します

* 新しい Regex User Parameters Pre-Processor は、以前の応答から正規表現エクストラクタによって抽出された参照を使用して、入力パラメータ名と値を挿入できるようにします

* TCP サンプラー: 新しいオプション

TCP サンプラーは、 Close ConnectionSO_LINGER、および 行末 (EOL) バイト値を設定できる新しいオプションで強化されました。

* 新しい関数__escapeOroRegexpChars(,)が導入されました ORO regexp メタ文字を引用します

* ForEach コントローラ: 新しいフィールド

ForEach Controller に、ループの開始と終了を制御する 2 つの新しいフィールドが追加されました

* 結果ステータス アクション ハンドラーに、「次のスレッド ループを開始する」という新しいオプションが追加されました。

* JMS パブリッシャー: 新しいオプション

JMS パブリッシャーがバイト メッセージを送信できるようになりました

* メモリとパフォーマンスの改善

このバージョンでは、サンプラーの子として複数のポスト プロセッサが使用されている場合のスレッドおよび CPU ごとのメモリ使用量が大幅に改善されました。

JSR223 要素 (Groovy、Scala などをスクリプト言語として使用できるようにする) が改善され、スクリプトがテキスト領域に渡されたときにコンパイル結果をキャッシュできるようになりました

デフォルトでパフォーマンスを改善するために、一部の構成のデフォルトが変更されました ( Bug 54412を参照)。「新規および注目すべき」セクションの説明を参照してください。

  • 分散テストでは、バッチ モードでサンプルを返す MODE_STRIPPED_BATCH が使用されるようになりました (既定では 100 サンプルごと、または 1 分ごと)。また、MODE_STRIPPED_BATCH は SampleResult から応答データを削除するため、必要に応じて別のモード (jmeter.properties のモード プロパティ) に変更することにも注意してください。
  • 結果データはデフォルトで CSV に保存されるようになりました (jmeter.properties の jmeter.save.saveservice.output_format)

* XPath アサーションで、JMeter 変数を入力として使用できるようになりました

GUI とエルゴノミーの改善:

* 検索機能が改善され、要素のより多くの内部フィールド内で検索し、検索結果を拡張できるようになりました

* 2 つの JMeter インスタンス間でコピー/貼り付けが可能になりました >= 2.9 バージョン

1 つの JMeter インスタンスから要素をコピーします。

要素を 2 番目の JMeter インスタンスに貼り付けます。

* HTTP ヘッダー マネージャー

クリップボードから HeaderPanel へのコピーを許可します。ヘッダーは改行で区切る必要があり、次の形式のname:valueを持ちます。

* モジュールコントローラー

モジュール コントローラーが改善され、参照されているコントローラーをより適切にレンダリングし、新しいボタンをクリックして展開できるようになりました。

* HTTP プロキシ サーバー

HTTP Proxy Server に、URL パターンのデフォルトの除外セットを追加するボタンが追加されました。このリストは、次のプロパティで構成できます: proxy.excludes.suggested

* ターゲット コントローラーのレンダリングが HTTP Proxy Server で改善されました

HTTP プロキシ サーバーの記録:

* HTTP プロキシ サーバーは、名前のない引数が 1 つしかないサンプル (JSON、XML、GWT など) に対して、Raw Post Body モードで HTTP リクエストを自動的に使用するようになりました。

* HTTP プロキシ サーバーは、HTTP サンプラー設定でユーザーにサンプラーのタイプを選択するよう強制しません。これにより、サンプラーにはこの情報が設定されていないため、実装を簡単に切り替えることができます。

* プラグイン プロバイダーの新しい要件を満たすために、SamplerCreator インターフェイスが強化されました。

* proxy.binary.typesプロパティを変更して application/x-www-form-urlencoded を追加することで、x-www-form-urlencoded POST リクエスト用のバイナリ サンプラーを作成できるようになりました。

* CSV ファイルを読み取る際のタイムスタンプ形式の自動検出が改善されました

既知のバグ

1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

If Controller に最初の反復から常に false である条件がある場合、リスナーは反復回数を表示しません ( Bug 52496を参照)。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。

Webservice sampler は、HTTP 応答ステータスを考慮して応答のステータスを計算しないため、空でない本文を含む応答 500 は成功と見なされます 。Bug 54006を参照してください。この問題を回避するには、常に応答を読み、応答アサーション チェック テキストを応答内に追加してください。

言語を変更すると、次の要素の構成の一部が壊れる可能性があります ( Bug 53679を参照)。

  • CSV Data Set Config (共有モードは失われます)
  • 一定のスループット タイマー (失われることに基づいてスループットを計算します)

緑色のボックスの左側に表示される数字は、アクティブなスレッドの数 / スレッドの総数です。これらは、ローカルで実行されるテストにのみ適用されます。クライアントサーバーモードの使用時にリモートシステムで開始されたスレッドは含まれません ( Bug 54152を参照)。

一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れるバグがあることに注意してください。

[java] 警告: ユーザー設定をフラッシュできませんでした:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: サポートされていません: インデント番号
これは JMeter の操作には影響しません。

互換性のない変更

JMeter には、Java 6 ランタイム以上が必要になりました。

デフォルトでパフォーマンスを改善するために、一部の構成のデフォルトが変更されました ( Bug 54412を参照)。「新規および注目すべき」セクションの説明を参照してください。

Webservice sampler は、Header Manager を介して設定されたヘッダーを要求するために追加するようになりました。これらは以前は無視されていました

jdbcsampler.cachesizeプロパティが削除されました。以前は Map < String, PreparedStatement > の接続ごとのキャッシュのサイズが制限されていましたが、SQL クエリの PreparedStatement を保持するこのマップのサイズも制限されていました。この制限により、バグ Bug 53995が発生しました。削除されたため、これら 2 つのマップのサイズは制限されなくなりました。この変更により動作が変更され、このバージョン以降、PreparedStatement はテスト中に閉じられなくなります。

このバージョン以降、JSR223 テスト要素にいくつかの重要な変更があります。

  • 無効なファイル名 (存在しないか読み取り不能) を持つ JSR223 テスト要素は、要素を黙って動作させるのではなく、テストを失敗させます。
  • JSR223 テスト要素: responseCodeOk、responseMessageOK、および success は、スクリプトが実行される前に設定されます。responseData が設定されている場合、スクリプトの戻り値で toString() によってオーバーライドされることはありません。

結果ツリーの表示で、コンテンツ タイプが欠落している応答をテキストと見なすようになりました。

リモート テスト モードで、リモート エンジンの 1 つを構成できない場合、JMeter はエラーで終了するようになりました。以前は、使用可能なエンジンでテストを開始していました。

バグの修正

HTTP サンプラーとプロキシ

  • Cache Manager または CookieManager で同時プール埋め込みダウンロードを使用するときに、偽の警告メッセージをログに記録しない
  • バグ 54​​057 - 起動時にユーザーとパスワードを設定するプロキシ オプション (-u および -a) が HTTPClient 4 で機能しない
  • バグ 54​​187 - リクエストが失敗した場合、リクエスト タブにヘッダーが表示されない
  • バグ 53840 - プロキシ記録: 応答メッセージ: URLDecoder: エスケープ (%) パターンに不正な 16 進文字 - 入力文字列: "" "
  • バグ 54​​351 - HC4 および URI フラグメントが失敗する

その他のサンプラー

  • バグ 53997 - LDAP 拡張要求: XML 応答データの検索フィルター タグでアンパサンド (&)、左山括弧 (<)、右山括弧 (>) をエスケープする
  • バグ 53995 - AbstractJDBCTestElement がマルチスレッド間で PreparedStatement を共有する
  • バグ 54​​119 - HTTP 307 応答がリダイレクトされない
  • バグ 54​​326 - 投稿で AjpSampler 送信ファイルが FileNotFoundException をスローする
  • バグ 54​​331 - 保護されている GET リクエストで AjpSampler が null ポインタをスローする

コントローラー

リスナー

  • バグ 54​​088 - タイプ video/f4m がバイナリではなくテキストである
  • バグ 54​​166 - ViewResultsTree が HTML 応答をレンダリングできませんでした: HTML の解析に失敗しました
  • バグ 54​​287 - 日付形式フィールドで時刻付きの日付を使用すると、応答時間グラフのタイムスタンプが正しくない
  • バグ 54​​451 - 応答時間グラフは、同時に多くのサンプルがある場合に間違った時間を報告します
  • バグ 54​​459 - CSVSaveService が日付の解析を適切に処理しない

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 54​​058 - HTTP リクエストのデフォルトで、「埋め込み URL は一致する必要があります:」チェックボックス「すべての埋め込みリソースを取得する」がチェックされていない場合、フィールドの値は保存されません。
  • バグ 54​​375 - 正規表現エクストラクタ: 正規表現構文が間違っていると、後処理が停止する

機能

I18N

全般的

  • バグ 53975 - オプション「必要になるまでスレッドの作成を遅らせる」で変数の置換が機能しない
  • バグ 54​​055 - 結果ツリーの表示: = 記号が HTTP タブのパラメーター値から削除される
  • バグ 54​​129 - 要素に存在するにもかかわらず、検索機能でテキストが見つからない
  • バグ 54​​023 - ルート ディレクトリから JMeter を起動できず、JMeter インストールのフル パスに 1 つ以上のスペースが含まれている場合 (Unix/Linux)
  • バグ 54​​172 - 重複したショートカット キーが機能せず、CTRL+C / CTRL+V / CTRL+V がデフォルト イベントをキャンセルしない
  • バグ 54​​057 - 起動時にユーザーとパスワードを設定するプロキシ オプション (-u および -a) が HTTPClient 4 で機能しない
  • バグ 54​​267 - カスタム スレッド グループで [次のスレッド ループを開始] 設定が機能しない
  • バグ 54​​413 - DataStrippingSampleSender が応答のバイト数に対して 0 を返す

改良点

HTTP サンプラー

  • バグ 54​​185 - HTTP または HTTPS で始まるパスでクエリ文字列を許可する

その他のサンプラー

  • バグ 54​​004 - Webservice Sampler : ヘッダー マネージャーでリクエストにヘッダーを追加できるようにする
  • バグ 54​​106 - JSR223TestElement は、テキスト エリア コンテンツを使用する代わりにファイル名が設定されている場合、ファイルの存在をチェックする必要があります
  • バグ 54​​107 - JSR223TestElement : スクリプト テキストのコンパイルとキャッシュを有効にする
  • バグ 54​​109 - JSR223TestElement : ユーザーが別のコードを設定できるようにするには、スクリプトを入力する前に SampleResult プロパティを設定する必要があります
  • バグ 54​​230 - TCP サンプラー、「Close Connection」、「SO_LINGER」、「End of line(EOL) byte value」オプションの追加
  • バグ 54​​182 - JMS パブリッシャーの ByteMessage の送信をサポートします。

コントローラー

  • バグ 54​​131 - ForEach コントローラー: 変数のループ用に開始インデックスと終了インデックスを追加
  • バグ 54​​132 - モジュール コントローラ GUI: 参照されたコントローラのレンダリングを改善
  • バグ 54​​155 - ModuleController : ショートカット ボタンを追加して、参照されたコントローラーまでツリーを展開し、それを強調表示します

リスナー

  • バグ 54​​200 - いくつかのドキュメント タイプ (Apache OpenOffice のファイル、MS Office のファイル、PDF のファイルなど) のサポートを要素の View Results Tree、Assertion Response、Regular Expression Extractor (Apache Tika を使用) に追加します。
  • バグ 54​​226 - 結果ツリーの表示: サーバーが ContentType ヘッダーを返さない場合でも応答を表示する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 54​​259 - CSS または jquery のようなセレクター構文を使用する新しい Extractor を導入する
  • バグ 45772 - RegEx ユーザー パラメータ ポスト プロセッサ
  • バグ 54​​160 - JMeter 変数に適用する xpath アサーションのサポートを追加します。

機能

I18N

全般的

  • バグ 54​​005 - HTTP ミラー サーバー: 特別なヘッダー「X-」を追加して、応答ステータスと応答コンテンツを制御します
  • バグ 53875 - HTTP プロキシの URL フィルタに推奨されるデフォルトを含める
  • バグ 54​​031 - 実行中/合計スレッド インジケーターにツールチップを追加
  • Web サービス (SOAP) リクエストは廃止されました
  • バグ 54​​161 - プロキシ: x-www-form-urlencoded POST リクエストのバイナリ サンプラーを作成できる
  • バグ 54​​154 - HTTP プロキシ サーバーは、HTTP サンプラー設定でユーザーにサンプラーのタイプを選択させるべきではありません
  • Bug 54165 - Proxy Server: ターゲット コントローラのレンダリングを改善
  • バグ 46677 - テスト計画間でテスト要素をコピーする
  • バグ 54​​204 - 結果ステータス アクション ハンドラ: 次のスレッド ループの開始オプションを追加
  • バグ 54​​232 - 検索機能: ボタンを追加して結果を検索および展開します
  • バグ 54​​251 - トライステート チェックボックスの実装を追加
  • バグ 54​​257 - SamplerCreator インターフェイスを拡張して、新しい要件を満たす
  • バグ 54​​258 - Proxy : Sampler に名前のない引数が 1 つある場合、Raw Post Body を使用します。これは、JSON、XML、GWT ボディ タイプの POST メソッドを使用するサンプラーに役立ちます。
  • バグ 54​​268 - CPU とメモリの使用率を改善
  • バグ 54​​376 - ScopePanel : スコープをより正確に構成できるようにする
  • バグ 54​​412 - JMeter のデフォルトを変更して、デフォルトでパフォーマンスを向上させる
  • バグ 54​​414 - エンジンの 1 つが正しく起動しない場合、リモート テストは開始されません。

機能以外の変更

  • バグ 53956 - ヘッダー マネージャーのクリップボードから (値のリスト) を貼り付ける機能を追加
  • HttpComponents クライアント 4.2.3 に更新 (4.2.1 から)
  • HttpComponents Core 4.2.3 に更新 (4.2.2 から)
  • バグ 54​​110 - BSFTestElement および JSR223TestElement は、共通フィールドに共有スーパークラスを使用する必要があります
  • バグ 54​​199 - Java 6 に移行
  • rhino 1.7R4 にアップグレード

バージョン 2.8

新しくて注目に値する

コアの改善:

スレッド グループ: 新しいオプション必要になるまでスレッドの作成を遅らせる

テストの起動時にスレッドを作成するのではなく、必要なときにスレッドを作成して開始する新しいオプション「必要になるまでスレッドの作成を遅らせる」

HTTP Cookie マネージャー (IPv6 サポート)

JMeter に HTTPClient 4 Cookie の実装を追加します。
Cookie Manager には、デフォルトの HC3.1 実装と、新しい選択肢の HC4 実装 (IPv6 アドレスに準拠) が追加されました。

メモリとパフォーマンスの向上

このバージョンでは、JMeterThread のメモリ使用量が大幅に改善されました。

JSR223 要素 (Groovy、scala などをスクリプト言語として使用可能) が改善され、以下が可能になりました。

  • CPU 使用率を高めるために利用可能な場合の Compilable インターフェイスの使用
  • スクリプトがファイルとして使用される場合のコンパイルのキャッシュ
バージョン間で JMeter のパフォーマンスを確認 する

OS プロセス サンプラー

stdout/stderr/stdin のファイルを定義できるようにします。

HTTP リクエスト: PATCH 動詞

HTTPサンプラーにPATCH動詞を追加

HTTP リクエスト: HTTPClient 4 がデフォルトの実装になりました

HTTPClient 4 がデフォルトの HTTP リクエスト実装になりました (および HTTP リクエストを生成するときの Proxy 要素用)。
以前は、デフォルトは HTTP Java 実装 (つまり、JVM によって提供される実装) でした。

HTTP リクエスト

埋め込み URL フィルターを HTTP 要求の既定のコントロールに追加します (HTTP 要求には既に存在していました)。

その他

  • CSV データセット : 引用されたデータで埋め込み改行がサポートされるようになりました
  • JMX ファイルに、ファイルを作成したバージョンの JMeter が含まれるようになりました
  • JMeter バージョンがプロパティ「jmeter.version」として利用可能になりました

レポートの改善:

応答時間グラフ

新しいビジュアライザーの応答時間グラフを追加して、テストの応答時間の変化を示す折れ線グラフを描画します

応答時間グラフの設定

結果を表に表示

View Result in Table リスナーにレイテンシーを追加

集計グラフ

小さな改善: 左または右の凡例が (1 つの大きな行ではなく) 1 列になりました。

GUI とエルゴノミーの改善:

HTTP プロキシ サーバーの簡素化

JMeter 2.4 以降、HTTPS 記録が直接利用できるようになったため、プロキシから HTTPS スプーフィング オプションが削除されました。

HTTP プロキシ サーバー

クリップボードからの URL フィルターの貼り付けを許可する

JMeter で検索

新しい検索機能の CTRL + F

ESC キーでポップアップを閉じるようになりました。

GNOME 3 のユーザーインターフェース

Gnome 3 のアプリのタイトル バーに「Apache JMeter」のタイトルを表示する

既知のバグ

1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

If Controller に最初の反復から常に false である条件がある場合、リスナーは反復回数を表示しません ( Bug 52496を参照)。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。

言語を変更すると、次の要素の構成の一部が壊れる可能性があります ( Bug 53679を参照)。

  • CSV Data Set Config (共有モードは失われます)
  • 一定のスループット タイマー (失われることに基づいてスループットを計算します)

一部の Linux システムの Java には、テスト ケースまたは JMeter 自体の実行時に次のエラーとして現れるバグがあることに注意してください。

[java] 警告: ユーザー設定をフラッシュできませんでした:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: サポートされていません: インデント番号
これは JMeter の操作には影響しません。

互換性のない変更

CacheManager を使用する場合、ヘッダー Cache-Control が仕様で説明されている「no-cache」とは異なる場合、JMeter は GET クエリの応答をキャッシュするようになりました。さらに、「キャッシュなし」応答の非推奨エントリをキャッシュに入れなくなりました。 バグ 53521および バグ 53522を参照してください。

JSR223 テスト要素に大きな変更が加えられました。以前は、スクリプトの実行前に変数が設定され、実行ごとに 1 回作成された ScriptEngineManager に格納されていました。現在、ScriptEngineManager は、すべての JSR223 要素によって共有されるシングルトンであり、ScriptEngine のみが実行ごとに 1 回作成され、変数が設定されます。スクリプトの実行前は、実行ごとに作成されるバインディングに保存されるようになりました 。Bug 53365を参照してください。

ScriptEngine がこの機能をサポートしている場合、スクリプト ファイルを使用する JSR223 テスト要素がコンパイルされるようになりました 。Bug 53520を参照してください。

Function Helper ダイアログのショートカットは CTRL+F1 (Mac OS では CMD + F1) になり、CTRL+F (Mac OS では CMD+F1) で検索ダイアログが開くようになりました。

デフォルトでは、TestCompiler は、静的 Set ではなく、Controller インスタンスで確認したペアの詳細を保存するようになりました。[ バグ 53796 ] 使用されるメモリは同時スレッドの数に比例するため、遅延開始テスト プランのメモリ動作が大幅に改善されます。静的設定では、メモリ使用量はスレッドの合計数に比例していました。この変更によって問題が発生する可能性はほとんどありません。プロパティ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 - Request-queue と Receive-queue が異なる場合、JMeter JMS Point-to-Point Request-Response サンプラーが機能しない
  • バグ 53357 - JMS ポイント ツー ポイントが、要求応答モードでの応答時間が長すぎると報告する
  • バグ 53440 - 一部の KeyManagerFactory SPI を使用する JDK 6 で SSL 接続により ArrayStoreException が発生する
  • バグ 53511 - アクセス ログ サンプラーの SessionFilter が NullPointerException をスローする - Cookie マネージャーが正しく初期化されていない
  • バグ 53715 - JMeter が WSDL をロードしない

コントローラー

リスナー

  • バグ 53742 - jmeter.save.saveservice.sample_count が true に設定されている場合、リスナーによって読み取られる経過時間が常に 0 になる
  • バグ 53774 - samplerData が非 null でない限り、RequestViewRaw はヘッダーを表示しません
  • バグ 53802 - IdleTime 値が CSV ログに保存されない
  • バグ 53874 - 結果ツリーの表示: % などの特殊文字を含むパラメータがエンコードされていない場合、RequestViewHTTP が java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern で失敗し、応答が表示されない

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 51512 - IPv6 Host ヘッダーを使用した HTTP リクエストに Cookie が挿入されない

機能

I18N

全般的

  • バグ 53365 - JSR223TestElement は ScriptEngineManager をキャッシュする必要があります
  • バグ 53520 - JSR223 要素: Compilable インターフェイスを使用してファイル スクリプトのパフォーマンスを向上させる
  • バグ 53501 - 同期タイマーがテストの終了をブロックします。
  • バグ 53750 - TestCompiler が不要なエントリをペアリング コレクションに保存する
  • バグ 52266 - コード: 一貫性のない同期
  • バグ 53841 - CSVSaveService は、saveservice.properties で設定されたものを使用する代わりに、JVM のデフォルトのファイル エンコーディングを使用してファイルを読み取ります
  • バグ 53953新規: モニターのテスト計画ドキュメントのタイプミス

改良点

HTTP サンプラー

  • バグ 53675 ​​- HTTP サンプラーに PATCH 動詞を追加
  • バグ 53931 - デフォルトの HTTP リクエスト (および HTTP リクエストを生成する Proxy 要素) に対して HTTPClient 4 を定義します。デフォルトの前は、HTTP Java Sampler でした。
  • バグ 53934 - JMeter HTTP Proxy Server の HTTPS スプーフィング オプションを削除します。JMeter 2.4 以降、HTTPS プロトコルはプロキシによって直接サポートされています。

その他のサンプラー

  • バグ 55310 - TestAction は Interruptible を実装する必要があります
  • バグ 53318 - 埋め込み URL フィルタを HTTP リクエストのデフォルト コントロールに追加する
  • バグ 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 - View Result テーブル リスナーに遅延を追加する

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 53755 - JMeter に HttpClient 4 Cookie 実装を追加します。Cookie Manager には、デフォルトの HC3.1 実装と、新しい選択肢の HC4 実装 (IPv6 アドレスに準拠) が追加されました。

機能

  • バグ 51527 - __time() 関数: __time() に別のオプションを追加して、エポックからの *秒* を提供します

I18N

全般的

  • バグ 53364 - 関数ヘルパー ダイアログでの関数のリストの並べ替え
  • バグ 53418 - テストの起動時にスレッドを作成する代わりに、必要なときにスレッドを作成して開始する新しいオプション「Delay thread creation until needed」
  • バグ 42245 - HTTP Authorization Manager でクリア パスワードを表示する
  • バグ 53616 - Gnome 3 のアプリのタイトル バーに「Apache JMeter」のタイトルを表示する
  • バグ 53759 - ClientJMeterEngine が SearchByClass(TestListener) を使用して不要なトラバースを実行する
  • バグ 52601 - 新しい検索機能の CTRL + F
  • バグ 53796 - TestCompiler は巨大になる可能性のある静的 Set を使用します
  • バグ 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 Process Sampler の結果の例

JMS サンプラーの改善

JMS メッセージを「非永続的」に送信するための「非永続的配信」オプションの追加 (最大 1 回の配信が保証されます。メッセージの損失は問題ではありません)。

JMS オブジェクト メッセージの送信をサポートし、XStream によって XML から非整列化されたオブジェクトを送信できるようにします。

JMS パブリッシャー サンプラーによる JMS プロパティの設定を有効にする

テスト アクション サンプラー

ループからの早期終了を許可する

Web サービス サンプラーの改善

jmeter プロパティ soap.document_cache を追加して、ドキュメント キャッシュのサイズを制御します

HTTP セッションの維持を構成可能にする

集計グラフ: 平均、中央値、90% の折れ線、最小、最大の列を含むクラスター化された棒グラフ

グラフの変更を集合棒グラフに集約し、列 (中央値、90% 線、最小、最大) とオプションを追加し、いくつかのバグを修正しました。

集計グラフの新しい設定

extras フォルダー内の JMeter Ant タスクによって生成される HTML レポート デザインの改善

HTML レポートの例

いくつかのアサーション エラーを含む HTML レポートの例

メーラー ビジュアライザー

  • SSL または TLS を使用して認証と接続セキュリティを有効にする
  • GUI デザインの改善
  • 国際化 (i18n) サポートを追加する

ログ内の ERROR/FATAL メッセージ数の新しいビジュアル インジケータ

インジケーターはログ内の ERROR/FATAL メッセージの数を示し、クリックしてログ ビューアー パネルを切り替えることができます

パラメータ行の詳細を表示するダイアログ ボックス

パラメータ テーブルに詳細ボタンを追加して、行の詳細を表示します

詳細ボックスの例

プラグインライター

新しいインターフェース org.apache.jmeter.engine.util.ConfigMergabilityIndi​​cator が導入され、ConfigTestElement を Sampler にマージできるかどうかを確認できます ( Bug 53042を参照)を参照)。

public boolean apply(ConfigTestElement configElement);

新しいインターフェース org.apache.jmeter.protocol.http.proxy.SamplerCreator により、記録フェーズ中にプロキシを介してデフォルトの HTTP サンプラーとは異なる HTTP ベースのサンプラーをプラグインできます ( Bug 52674を参照)。

public String[] getManagedContentTypes();
public HTTPSamplerBase createSampler(HttpRequestHdr request, Map<String, String> pageEncodings, Map<String, String> formEncodings);
public void populateSampler(HTTPSamplerBase sampler, HttpRequestHdr request, Map<String, String> pageEncodings, Map<String, String> formEncodings) 例外をスローします。

既知のバグ

1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

If Controller に最初の反復から常に false である条件がある場合、リスナーは反復回数を表示しません ( Bug 52496を参照)。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。

互換性のない変更

ユーザー定義変数の置換を行う場合、「正規表現マッチング」が使用されている場合、プロキシは部分的な値を置換しなくなりました。Perl 5 の単語マッチング ("\b") を使用します。

ユーザー定義変数、テスト計画、HTTP サンプラ引数テーブル、Java リクエストのデフォルト、JMS サンプラとパブリッシャー、LDAP リクエストのデフォルト、および LDAP 拡張リクエストのデフォルトで、名前と値が空の行は保存されなくなりました。

JMeter はテスト計画ツリーをテスト計画レベルまで展開し、それ以上は展開せず、ツリーのルートを選択します。さらに、onload.expandtree のデフォルト値は false です。

Graph Full Results Listener は削除されました。

「すべてクリア」コマンドを呼び出すと、ログ ビューアが表示されていれば、その内容がクリアされます。

バグの修正

HTTP サンプラーとプロキシ

  • バグ 52613 - Raw Post Body オプションを使用すると、テキストがエンコードされる
  • バグ 52781 - ブラウザー互換ヘッダーがチェックされていても、Content-Disposition ヘッダーが文字化けする (HC4)
  • バグ 52796 - 新しい解析を開始するときに MonitorHandler が変数をクリアできない
  • バグ 52871 - 複数の証明書が HTTP クライアント 4 で機能しない
  • バグ 52885 - プロキシ: HTTPS での記録の問題、セキュアで始まる Cookie が部分的に切り捨てられる
  • バグ 52886 - プロキシ: スプーフィングがオンの場合の HTTPS に関する問題の記録、安全な Cookie が常に変更されるとは限らない
  • バグ 52897 - HTTPSampler : HTTPClient4 と空のコンテンツ エンコーディングで PUT メソッドを使用し、ファイルを送信すると NullPointerException が発生する
  • バグ 53145 - HTTP サンプラー - パス内の関数の評価が早すぎる

その他のサンプラー

  • バグ 51737 - TCPSampler : パケットが変換/破損する
  • バグ 52868 - BSF 言語リストをソートする必要がある
  • バグ 52869 - JSR223 言語リストは現在、間違った BSF リストを使用しています
  • バグ 52932 - JDBC サンプラー: クラス IOException ではない例外で、サンプラーがエラーとしてマークされない、SQLException、IOException が発生する
  • バグ 52916 - 空のユーザー定義変数がある場合の JDBC 例外
  • バグ 52937 - Webservice Sampler : テストの最後に Soap Documents キャッシュをクリアする
  • バグ 53027 - HTTP Cookie Mngr または HTTP Request Defaults を使用したテスト計画で SMTP サンプルを使用しているときに、JMeter が例外をスローし始める
  • バグ 53072 - JDBC PREPARED SELECT ステートメントは、準備されていない SELECT のような変数で結果を返す必要があります

コントローラー

  • バグ 52968 - エラーが発生した場合、オプション Start Next Loop in Thread Group が親トランザクション サンプラーをエラーとしてマークしない
  • バグ 50898 - IncludeController : インクルードで同じ要素名を使用すると、非 GUI モードでスクリプトをロードすると NullPointerException が発生する

リスナー

  • バグ 43450 - リスナー/セーバーは、SampleResult カウントが常に 1 であると想定します。固定 要約結果の生成

アサーション

機能

I18N

  • バグ 52551 - Function Helper ダイアログが言語を正しく切り替えない
  • バグ 52552 - ヘルプ リファレンスが英語でのみ機能する

全般的

  • バグ 52639 - ログがアクティブ化されていない場合、ログ パネルの JSplitPane ディバイダは非表示にする必要があります
  • バグ 52672 - Change Controller アクションが 1 つを除くすべての子サンプラーを削除する
  • バグ 52694 - GUI を更新する非 AWT スレッドに関連する GUI のデッドロック
  • バグ 52678 - プロキシ: UserDefinedVariables の置換を行う場合、部分的な値は置換されるべきではありません
  • バグ 52728 - CSV データ セット構成要素は、同じスレッド プランで BSF サンプラーと共存できません
  • バグ 52762 - 複数の証明書の問題: インデックスが再起動されるまで最初のインデックスが使用されない
  • バグ 52741 - TestBeanGUI のデフォルト値が 2 回目以降に機能しない
  • バグ 52783 - 初期化が早いために oro.patterncache.size プロパティが使用されない
  • バグ 52789 - 値が null の場合、値の置換で Regexp マッチングを使用するプロキシが NullPointerException で失敗することがある
  • バグ 52645 - Proxy を使用して記録すると OutOfMemory が発生する
  • バグ 52679 - ユーザー パラメータの列が狭くなる
  • バグ 52843 - サンプルの headerSize と bodySize がサブサンプルに蓄積されない
  • バグ 52967 - GUI モードでリモート サーバーを実行している場合、関数 __P() はデフォルト値を使用できませんでした。
  • バグ 50799 - HTTP テスト計画に非 HTTP サンプラーがあると、複数のヘッダー マネージャーが機能しなくなります
  • バグ 52997 - 終了前に保存が失敗した場合、JMeter はテスト計画を保存せずに終了すべきではありません
  • バグ 53136 - Throwable のキャッチは慎重に処理する必要があります

改良点

HTTP サンプラー

その他のサンプラー

  • バグ 52775 - JMS パブリッシャー: 非永続配信オプションの追加
  • バグ 52810 - JMS パブリッシャー サンプラーによる JMS プロパティの設定を有効にする
  • バグ 52938 - Webservice Sampler : jmeter プロパティ soap.document_cache を追加して、ドキュメント キャッシュのサイズを制御します
  • バグ 52939 - Webservice Sampler : MaintainSession を構成可能にする
  • バグ 53073 - JDBC CALLABLE の OUT 結果を JMeter 変数に代入できるようにする
  • バグ 53164 - 新しいシステム サンプラー
  • バグ 53172 - OS プロセス サンプラー - 環境変数の指定を許可する
  • バグ 52936 - JMS パブリッシャー: JMS オブジェクト メッセージの送信をサポート

コントローラー

リスナー

  • バグ 52603 - MailerVisualizer: SSL、TLS、および認証を有効にする
  • バグ 52698 - グラフの完全な結果リスナーを削除する
  • バグ 53070 - 集計グラフをクラスター棒グラフに変更し、列 (中央値、90% 線、最小、最大) とオプションを追加し、いくつかのバグを修正しました
  • Bug 53246 - Mailer Visualizer: GUI デザインと I18N を改善

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

機能

I18N

  • Mailer Visualizer は国際化されています。フランス語の翻訳が追加されました。( バグ 53246を参照)

全般的

  • バグ 45839 - テスト アクション: ループからの早期終了を許可する
  • バグ 52614 - MailerModel.sendMail にデバッグ設定を計算する奇妙な方法がある
  • バグ 52782 - パラメータ テーブルに詳細ボタンを追加して、行の詳細を表示する
  • バグ 52674 - Proxy : Sampler Creator を追加して、潜在的に非テキストの POST ボディ (AMF、Silverlight など) を使用して HTTP ベースのサンプラーをプラグインし、他のサンプラーをカスタマイズできるようにします。
  • バグ 52934 - GUI: ツリーを testplan レベルまで展開してテスト計画を開き、ツリーのルートを選択する
  • バグ 52941 - JMeter Ant タスク エクストラによって生成される HTML レポート デザインの改善
  • バグ 53042 - Sampler インターフェイスに新しいメソッドを導入して、構成要素が Sampler に適用されるかどうかを Sampler が判断できるようにします。
  • バグ 52771 - ドキュメンテーション : JMeter ホームページの "Subscribe to What's New" リンクの下に RSS フィードを追加しました
  • バグ 42784 - GUI に記録されたエラーの数を表示する
  • バグ 53256 - Make Clear All コマンドで LogViewer コンテンツをクリーンアップ
  • バグ 53261 - バグ 42784で追加された「エラー/致命的」カウンターを作成し、警告インジケーターがクリックされたときにログ ビューアー パネルを開きます。

機能以外の変更

  • rhino 1.7R3 にアップグレードされました (以前は js-1.7R2.jar でした)。注: jar の Maven 座標が rhino:js から org.mozilla:rhino に変更されました。これは JMeter に直接影響しませんが、以前のバージョンの Rhino Javascript jar に依存する他のコードを含む Maven プロジェクトで JMeter を使用すると、問題が発生する可能性があります。
  • バグ 52675 - Proxy と 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 のルック アンド フィール

システムまたはクロスプラットフォームの LAF をオプション メニューから設定できるようにする

JMeter GUI - ノードの複製

コンテキストメニューに「複製ノード」を追加

JMeter ツリー ビュー - 検索機能

サンプラーツリービューでのキーワード検索機能

HTTP リクエスト - 未処理のリクエスト ペイン

HTTP リクエスト GUI を改善して、名前のないパラメーターをより適切に表示するようにしました (GWT RPC リクエストや SOAP リクエストなど)。

HTTP リクエスト - その他の変更

  • 引数パネルで複数選択を許可
  • クリップボードから引数リストへのエントリの追加 (貼り付け) を許可する
  • HTTP リクエストで変数を上下に移動する機能

HTTP リクエスト - ファイル プロトコル

HTTP サンプラーでの file: protocol のサポートの向上

file: protocol で埋め込みリソースを取得する

HTTP リクエスト - 埋め込みリソースの無視に失敗しました

埋め込みリソースの「失敗を無視」を有効にする

埋め込みリソースでの親の成功が失敗しました

結果を表に表示 - 子サンプル表示

親サンプルではなく子サンプルを表示するオプションを TableVisualiser に追加

キー ストア - 複数の証明書

複数の証明書の許可 (JKS)

集計グラフの改善

Aggregate Graph Listener の改善:

  • 設定用の新しい GUI
  • 動的グラフ サイズ
  • タイトル グラフと凡例のフォントを変更できるようにする
  • バーの色を変更できるようにする (背景とテキストの値)
  • バーのアウトラインを描画するかどうかを許可する
  • 正規表現フィルターによって一部のサンプラーのみを選択できるようにする
  • Y 軸の最大スケールを定義できます

集計グラフバー

カウンター - 新しいリセット オプション

スレッド グループの反復ごとにカウンターをリセットするオプションを追加

機能

  • 新しい関数 __RandomString を追加して、ランダムな文字列を生成します
  • 現在の「テスト計画」の名前を返す新しい関数 __TestPlanName を追加します
  • 新しい関数 __machineIP を追加して、IP アドレスを返します
  • Jexl2 をサポートする新しい関数 __jexl2 を追加します。

ユーザー定義変数の改善

  • ユーザー定義変数にコメント フィールドを追加する
  • クリップボードから引数リストへのエントリの追加 (貼り付け) を許可する
  • ユーザー定義変数で変数を上下に移動する機能

結果ツリーを表示

結果ツリーの表示では、結果が大きすぎる場合にメッセージだけを表示するのではなく、構成されているできるだけ多くの結果を表示します

コントローラ - 変更要素

コントローラ要素を変更する機能を追加

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 を参照)。特に、同じ名前のインクルード コントローラーが 2 つある場合は、NullPointerException が発生する可能性があります。

1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

If Controller に最初の反復から常に false である条件がある場合、リスナーは反復回数を表示しません ( Bug 52496を参照)。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。

互換性のない変更

2.1 以降のバージョンの JMeter では、埋め込みリソースをロードするときにコンテナ サンプルを作成できませんでした。これは修正されました。次のプロパティを設定する ことで、 バグ 51939の動作に戻すことができます: httpsampler.separate.container=false

ミラー サーバーは現在、既定のポート 8081 を使用します。2.5.1 より前は 8080 でした。

TCP Sampler は、2.6 以降、SocketTimeoutException、SocketException、および InterruptedIOException を異なる方法で処理します。これらが発生すると、Sampler は失敗としてマークされます。

サンプル Sender 実装は、2.6 以降、クライアント側で構成を解決するようになりました。この動作は、プロパティ sample_sender_client_configured (false に設定) で変更できます。

HTTP User Parameter Modifier テスト要素が削除されました。それは長い間廃止されてきました。

バグの修正

HTTP サンプラーとプロキシ

  • バグ51932 - CacheManager が、max-age の後の属性を持つ cache-control ヘッダーを処理しない
  • バグ 51918 - 複数の接続が許可されている場合、GZIP 圧縮トラフィックでエラーが発生する
  • バグ 51939 - 埋め込みリソースを取得するときに、必要に応じて新しい親サンプルを生成する必要があります
  • バグ 51942 - 同時ダウンロードが使用されている場合の CacheManager での同期の問題
  • バグ 51957 - タスクが完了しない場合、並行 get がハングすることがある
  • バグ 51925 - リソースの同時ダウンロードがオンの場合、Test で Stop を呼び出すとエグゼキュータ スレッドがリークする
  • バグ 51980 - HtmlParserHTMLParser がリンクで使用されている画像を二重にカウントする
  • バグ 52064 - CacheManager の OutOfMemory リスク
  • バグ 51919 - 同時ダウンロードを使用すると、CookieManager#removeMatchingCookies でランダムな ConcurrentModificationException または NoSuchElementException が発生する
  • バグ 52126 - HttpClient4 が反復間で Cookie をクリアしない
  • バグ 52129 - HTTP クライアント 4 と Keep Alive 接続を使用すると、報告された本文のサイズが間違っている
  • バグ 52137 - HTTP キャッシュ マネージャーの問題
  • バグ 52221 - HTTP キャッシュ マネージャーなしで埋め込みリソースの取得を使用すると Nullpointer 例外が発生する
  • バグ 52310 - 「同時プール サイズ」が有効な場合、IPSource の変数が HTTP リクエストに失敗する
  • バグ 52371 - API の非互換性 - HTTPSampler2 のメソッドには、HttpMethod[Base] の代わりに PostMethod が必要になりました。オリジナルタイプに戻しました。
  • バグ 49950 - Proxy : Proxy サーバーでの記録時に IndexOutOfBoundsException が発生する
  • バグ 52409 - HttpSamplerBase#errorResult は、パラメーターとして渡された sampleResult を変更します。新しいインスタンスが作成されると仮定するコードを修正 (つまり、サブサンプルを追加するとき)
  • バグ 52507 - HTTP ユーザー パラメータ修飾子の削除 (非推奨、廃止)

その他のサンプラー

  • バグ 51996 - 複数のスレッドが同時に InitialContextFactory#lookupContext に入ると、JMS 初期コンテキストが新しく作成されたコンテキストをリークする
  • バグ 51691 - JMS パブリッシャーと JMS サブスクライバーで承認が機能しない
  • バグ 52036 - clientId フィールドがないため、ActiveMQ で永続サブスクリプションが失敗する
  • バグ 52044 - 多くのスレッドで JMS サブスクライバーを使用すると、javax.naming.NamingException: Some already bound with ActiveMQ が発生する
  • バグ 52072 - LengthPrefixedBinaryTcpClientImpl がサンプルを途中で終了することがある
  • バグ 52390 - AbstractJDBCTestElement:perConnCache でのメモリ リークと同期の問題

コントローラー

  • バグ 51865 - 「サンプル エラーの後に次のループを開始する」オプションが設定されている場合、スレッド グループ内の無限ループが正しく機能しない
  • バグ 51868 - スレッドのオプション「次のループを開始」を使用すると、jmeter.log に多数の例外が記録される
  • バグ 51866 - スレッドグループに「エラー時に次のループを開始」オプションが設定されている場合、ループ下のカウンターが正しく機能しない
  • バグ 52296 - TransactionController + 子 ThrouputController または InterleaveController により、エラーが発生する sampleEnd が 2 回呼び出される java.lang.Throwable: Invalid call sequence when TPC does not run sample
  • バグ 52330 - エラー サンプルの後に next-Loop-On-Error を使用すると、次のループで実行されない

リスナー

  • バグ 52357 - 表で結果を表示すると、複数の結果サンプルが許可されない
  • バグ 52491 - Tree Listener / Http Request ビューでの 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 - TreeMap の 1 つに同じ応答時間のサンプルがさらにある場合、StatCalculator.addAll(StatCalculator calc) 結合が正しくない
  • バグ 52339 - 分散テストの JMeter 統計モードで間違った応答時間が表示される
  • バグ 52215 - StatVisualizer、SummaryReport、Summariser での同期の混乱と StatGraphVisualizer の問題
  • バグ 52216 - TableVisualizer : currentData フィールドが正しく同期されていない
  • バグ 52217 - ViewResultsFullVisualizer: root と treeModel の同期の問題
  • バグ 43294 - XPath Extractor 名前空間の問題
  • バグ 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 - コードが整数演算で平均を計算し、double 値を期待する
  • バグ 52469 - リモート テスト用の RMI トラフィックの SSH トンネリングのサポートの変更
  • バグ 52466 - テスト計画機能のアップグレード: NameUpdater がプロパティをアップグレードしない
  • バグ 52503 - Unify File→Close および Window close ファイル保存動作
  • バグ 52537 - ファイルが最初に読み込まれたときに、ヘルプが正しいアンカーにスクロールしない

改良点

HTTP サンプラー

  • バグ 51981 - HTTP サンプラーでの file: protocol のサポートの向上
  • バグ 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 - Aggregate Graph Listener の改善 (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 - Samplers TreeView で検索する機能
  • バグ 52019 - 一時停止タイマーを無視してテストを開始するメニュー オプションを追加
  • バグ 52027 - システムまたは CrossPlatform LAF をオプション メニューから設定できるようにする
  • バグ 52037 - 再起動時にユーザー設定の LaF を記憶します。
  • バグ 51861 - HTTP リクエスト GUI を改善して、名前のないパラメーター (GWT RPC リクエストなど) をより適切に表示する (開発中)
  • バグ 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 - 以前に「Save Selection As」によって保存されたセレクションをロードすると、青いウィンドウ バーにファイル名が表示される
  • バグ 50086 - JMS パブリッシャー、JMS サブスクライバー、メール リーダー サンプラー、SMTP サンプラー、およびデータベース構成でパスワード フィールドが非表示にならない
  • バグ 29352 - 分散テスト中にサンプルを保持するために外部ストアを使用します。DiskStore リモート サンプル センダーを追加しました: 保持と同様ですが、テストが終了するまでサンプルをディスクに保存します。
  • バグ 52333 - SampleResult#nanoTimeOffset の計算のオーバーヘッドを削減
  • バグ 52346 - シャットダウンは、JVM の終了を妨げる非デーモン スレッドが残っているかどうかを検出します。
  • バグ 52281 - ファイルのドラッグ アンド ドロップのサポート
  • バグ 52471 - 要求ごとにスレッドを起動する代わりに、スレッドのプールを使用することにより、ミラー サーバーのパフォーマンスを向上させる
  • Avalon フォーマットの JMX ファイルを読み取ることができるように OldSaveService を復活させました (2.4 で削除されました)。
  • 削除アクションが呼び出されたときに要素の削除を確認するダイアログ ボックスを追加します。
  • バグ 41788 - オプションとして必要なログ ビューアー (コンソール ウィンドウ)
  • JVM の正常終了をチェックするデーモン スレッドの一時停止時間 (デフォルトは 2000 ミリ秒) を変更するオプションを追加します。一時停止時間が 0 より大きくない限り、スレッドは開始されません。

機能以外の変更

  • build.xml の修正: スクリプトのサポート。再利用可能なプロパティ名をローカライズする
  • バグ 51923 - カウンター機能のバグまたはドキュメントの問題? (固定ドキュメント)
  • speed.jar を 1.7 に更新 (1.6.2 から)
  • js.jar を 1.7R3 に更新 (1.6R5 から)
  • commons-codec を更新 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 に更新
  • junit 4.9 ⇒ 4.10 にアップデート
  • バグ 51954 - 生成されたドキュメントに </br> エントリが含まれているため、余分な空白行が発生する
  • バグ 52075 - JMeterProperty.clone() は現在 Object を返します。JMeterProperty を返す必要があります
  • httpcore を 4.1.4 に更新
  • バグ 49753 - Maven 中央リポジトリで jMeter アーティファクトを公開してください

バージョン 2.5.1

主な変更点のまとめ

  • HttpClient4 サンプラーは接続を適切に再利用するようになりました (以前は、サンプルごとに 1 つを使用していたため、すぐにリソースが枯渇する可能性がありました)。
  • JMS サンプラーのさまざまな修正
  • Configuration 要素を使用した場合に、関数が誤って呼び出されなくなりました
  • WebService サンプラーの GUI が再編成され、デザインが改善され、使いやすくなりました。WSDL 構成アシスタントのいくつかの改善
  • テスト シャットダウンの処理が改善されました。System.exit は、他にオプションがない場合にのみ呼び出されるようになりました。これでも無効にすることができます。

既知のバグ

インクルード コントローラーには、非 GUI モードでいくつかの問題があります。特に、同じ名前のインクルード コントローラーが 2 つある場合は、NullPointerException が発生する可能性があります。

1 回限りのコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

条件が最初の反復から常に false である場合、If コントローラーは無限ループを引き起こす可能性があります。回避策として、If コントローラーと同じレベル (またはそれより上位) にサンプラーを追加します。たとえば、待機時間が 0 のテスト アクション サンプラー (サンプルを生成しない) や、すべてのフィールドが False に設定されたデバッグ サンプラー (サンプル サイズを減らすため) などです。

メニュー項目 [オプション] / [言語の選択] では、表示されているすべてのテキストが新しい言語に変更されるわけではありません。[動作は改善されましたが、言語の変更はまだ完全には機能していません] デフォルトのローカル言語を完全にオーバーライドするには、JMeter を開始する前に JMeter プロパティ「language」を設定します。

互換性のない変更

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 実装 (対 HttpClient 3.1 impl) との多数の ESTABLISHED 接続
  • バグ 51750 - すべての埋め込みリソースの取得が IFRAME に従わない
  • バグ 51752 - 並行プールで「すべての埋め込みリソースを取得」を使用すると、HTTP キャッシュが壊れる
  • バグ 39219 - HTTP サーバー: [ファイル] → [開く] の後に停止できない
  • バグ 51775 - HttpClient (3.1 および 4.x) でキャプチャすると、ホスト ヘッダーでポート番号が重複する
  • バグ 50617 - サーバーからの値が取得されているにもかかわらず、監視結果の凡例に "dead" サーバーが表示される

その他のサンプラー

  • バグ 50424 - Web メソッドのドロップダウン リスト ボックスに一貫性がない
  • バグ 43293 - 新しいサンプラーの作成時に Java リクエスト フィールドがクリアされない
  • バグ 51830 - Webservice WSDL URL がダウンしている場合、Webservice Soap Request がトリガーするポップアップが多すぎる
  • WebService(SOAP) リクエスト - 接続タイムアウトを追加して、サーバーが応答しない場合に Web メソッドを設定するために使用される wsdl を取得します
  • バグ 51841 - JMS : ReceiveSubscriber コンストラクターまたはパブリッシャーでエラーが発生した場合、接続が開いたままになる
  • バグ 51691 - JMS パブリッシャーと JMS サブスクライバーで承認が機能しない
  • バグ 51840 - JMS : InitialContext のキャッシュに問題がある
  • バグ 47888 - JUnit Sampler がテスト オブジェクトを再利用する

コントローラー

  • If Controller - バグ 50032 によって導入された 2 つのリグレッションを修正し ました( バグ 50618も参照してください) 。
  • If Controller - 条件が常に false を返す場合 (少なくとも 1 回の反復で true が返された後)、StackOverflowError をキャッチします。 バグ 50618を参照してください。
  • バグ 51869 - インクルード コントローラーを使用すると NullPointer 例外が発生する

リスナー

アサーション

機能

  • バグ 48943 - Config 要素と組み合わせて使用​​すると、関数が追加の回数呼び出される

I18N

  • WebService(SOAP) リクエスト - 一部のラベルに I18N を追加

全般的

  • バグ 51831 - UDP サーバーを無効にしたり、最大 UDP ポートを変更したりできない
  • バグ 51821 - テスト計画で (サブ) ツリーまたはブランチを有効化/無効化するためのショートカットを追加します。
  • バグ 47921 - JMeterThread の終了後、変数が GC 用に解放されません。
  • バグ 51839 - 「… end of run」が時期尚早に出力される
  • バグ 51847 - 一部の JUnit テストはロケールに依存し、ロケールが US と異なると失敗する
  • バグ 51855 - 親サンプルの経過時間が少し不正確な場合がある
  • バグ 51880 - すべてのスレッドが開始される前にシャットダウン コマンドを呼び出すと、シャットダウン コマンドが機能しない
  • Remote Shut ホスト メニュー項目が有効になっていませんでした。
  • バグ 51888 - テスト計画を停止するときに時折デッドロックが発生する

改良点

HTTP サンプラー

  • バグ 51380 - 反復から反復へのキャッシュされた SSL コンテキストの再利用を制御する
  • バグ51882 - HTTPHC3Client はデフォルトの再試行回数 3 を使用し、構成可能にします。デフォルトは 1 になりました
  • デフォルトの HttpClient 4 サンプラーの再試行回数を 1 に変更します

その他のサンプラー

  • Beanshell Sampler が Interruptible インターフェースをサポートするようになりました
  • バグ 51605 - WebService(SOAP) リクエスト - リクエストで値が選択されると、すべてのリクエストの WebMethod フィールド値が不正に変更される
  • WebService(SOAP) リクエスト - より良いデザインと使いやすさのために再編成された GUI

コントローラー

リスナー

  • バグ 42246 - 「結果ツリーの表示」および「アサーション結果」で「自動スクロール」オプションが必要
  • 結果ツリーの表示: 正規表現テスター - ユーザー インターフェイスの小さな改善

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 51885 - XPathExtractor への入力として JMeter 変数を許可する

機能

I18N

全般的

  • バグ 51822 - (パート 1) GuiPackage#getCurrentGui の呼び出しを 1 回保存する
  • サンプルをサーバーからクライアントに非同期で送信する AsynchSampleSender を追加しました。
  • htmlparser 2.1 にアップグレード。JavaMail 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 とメールのサンプラーが改善されました。
  • 新しいテスト フラグメント テスト要素により、インクルード コントローラーの使用が容易になります
  • View Results Tree Listener にはさまざまな改良が加えられています。
  • バグ 30563 - スレッド グループには、サンプル エラーで次のループを開始するオプションが必要です。
  • メインのスレッド グループの前後に実行される 2 つの新しいスレッド グループの種類 (setUp と tearDown) があります。
  • クライアント サーバー モードは、UDP を介した外部停止/シャットダウンをサポート
    するようになりました。ポート プロパティを変更する必要なく、同じホスト上で複数の JMeter サーバー インスタンスを起動できます。
  • バグ 50516 - HTTP ヘッダー マネージャーの "Host" ヘッダーが、生成された HTTP 要求に含まれない

既知のバグ

インクルード コントローラーには、非 GUI モードでいくつかの問題があります。特に、同じ名前のインクルード コントローラーが 2 つある場合は、NullPointerException が発生する可能性があります。

一度だけコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

メニュー項目 [オプション] / [言語の選択] では、表示されているすべてのテキストが新しい言語に変更されるわけではありません。[動作は改善されましたが、言語の変更はまだ完全には機能していません] デフォルトのローカル言語を完全にオーバーライドするには、JMeter を開始する前に JMeter プロパティ「language」を設定します。

互換性のない変更

サポートされていないメソッドは、Commons HttpClient サンプラーによって GET に変換されなくなりました。

メソッド public static long currentTimeInMs() を削除しました。これは、インスタンス メソッド public long currentTimeInMillis() に置き換えられました。

ProxyControl.getSamplerTypeName() は、int ではなく String を返すようになりました。これは JMeter プロキシとその GUI の動作の内部にあるため、ユーザー コードには影響しません。

バグの修正

HTTP サンプラーとプロキシ

  • バグ 50178 - スレッド グループの子として追加された HeaderManager は、連結された HeaderManager 名と OutOfMemoryException を作成できます
  • バグ 50392 - マルチパートでリクエストを送信すると値がトリミングされる
  • バグ 50686 - インスタンスのマージ時に HeaderManager のログが冗長すぎる
  • バグ50963 - AjpSampler が java.lang.StringIndexOutOfBoundsException をスローする
  • バグ 50516 - HTTP ヘッダー マネージャーの "Host" ヘッダーが、生成された HTTP 要求に含まれない
  • バグ 50544 - Apache Common Log では、HEAD リクエストが問題を引き起こします。
  • バグ 51268 - 無効なプロキシを介した HTTPS リクエストにより NullPointerException が発生し、結果ツリーに表示されません。「予期しない」エラーを JMeter スレッド ハンドラに委任するのではなく、すべての例外でサンプル エラーが生成されるようにします。
  • バグ 51275 - Cookie パネルの clearGui() が Java 1.6 で誤ったデフォルト ポリシーを設定する

その他のサンプラー

  • バグ 50173 - JDBCSampler が PreparedStatement から ResultSet を破棄する
  • JSR223 サンプラーが現在の SampleResult にアクセスできることを確認する
  • バグ 50977 - 個々のサンプルに TCP サンプラーを設定できない

コントローラー

  • バグ 50032 - スレッドグループに複数のループがある場合、Last_Sample_Ok と他のコントローラーが正しく機能しない
  • バグ 50080 - トランザクション コントローラーがタイマー期間を含むサンプルを誤って作成する
  • バグ 50134 - TransactionController : 他の TransactionControllers が含まれていると、応答時間が悪いと報告される

リスナー

  • バグ 50367 - ビューの結果ツリーで Clear / Clear all を実行しても、選択した要素がクリアされない

アサーション

  • バグ 51488 - アサーション: 変数名のスコープはすべてのアサーションで共有されます (および バグ 51255 )

機能

  • バグ 50568 - 関数 __FileToString(): エンコード オプションが空白または空の場合、ファイルを読み取れませんでした

I18N

全般的

  • バグ 49734 - スレッドの停止コマンド (実行 → 停止) でのヌル ポインター例外
  • バグ 49666 - CSV ヘッダーが EOF の後にデータとして読み取られる
  • バグ 45703 - タイマーの同期
  • バグ 50088 - SamplingStatCalculator の getAvgPageBytes を修正して、本来あるべき値を返すようにします
  • バグ 50203プロパティ "jmeter.save.saveservice.default_delimiter=\t" を設定できません
  • mirror-server.sh - 使用するクラスパスを修正: 区切り文字 (; ではない)
  • バグ 50286 - URL 書き換え修飾子: XML タグの間にある場合、抽出された jsessionid 値が正しくない
  • System.nanoTime() は、System.currentTimeMillis() に比べてドリフトする傾向があります。SampleResult を変更して、毎回オフセットを再計算します。また、System.currentTimeMillis() のみを使用するように戻すことを有効にします。
  • バグ 50425 - コントローラの追加メニューからスレッド グループを削除する
  • バグ 50675 - CVS Data Set Config は Remote Start と互換性がありません 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 Sampler が Interruptible を実装
  • 実行時に HTTP 実装を選択できるようにする
  • バグ 50684 - オプションでマルチパート POST の Content-Type と Transfer-Encoding を無効にする
  • バグ 50943 - HTML ページに埋め込まれたリソースの同時ダウンロードを許可する
  • バグ 50170 - http サンプラーによって報告されるバイト数は GUnZip の後である
    オプションのプロパティを追加して、応答サイズを取得するメソッドを変更できるようにします
  • HTTP Sampler でプロキシ パスワードを非表示にする (JMX ファイルではなく、GUI でのみ)

その他のサンプラー

  • バグ 49622 - 件名のないメッセージの送信を許可する (SMTP サンプラー)
  • バグ 49603 - Mail Reader Sampler で期限切れの証明書の受け入れを許可する
  • バグ 49775 - 本文のないメッセージの送信を許可する
  • バグ 49862 - SMTPSampler リクエストの出力を改善します。
  • バグ 50268 - JMS パブリッシャーに静的および動的宛先を追加
  • JMS サブスクライバー - 動的宛先の追加
  • バグ 50666 - JMSSubscriber: 永続サブスクリプションのサポート
  • バグ 50937 - TCP サンプラーが接続タイムアウトを提供しない/尊重しない
  • バグ 50569 - オプションで結果セット オブジェクト データを保存するための Jdbc リクエスト サンプラー
  • バグ 51011 - メール リーダー: 認証の失敗時に、何を試したかを伝える

コントローラー

  • バグ 50475 - より良いインクルード フローのためのテスト フラグメント テスト要素の導入

リスナー

  • 結果ツリーの表示 - 「サンプラ結果タブ → 解析済み」にダイアログのテキスト ボックスを追加し、セルをダブルクリックして長い値を表示します。
  • バグ 37156 - 結果ツリーのリクエストの書式付きビュー
  • バグ 49365 - ロードされたスクリプトに関連するパスで結果セットをファイルに書き込むことができる
  • バグ 50579 - エラー カウントが長く、サンプル カウントが int です。サンプル数をロングに変更。
  • 結果ツリーの表示 - 新しいサイズ フィールドを追加: 応答ヘッダーと応答本文 (バイト単位) - バグ 43363から派生

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 48015 - プリプロセッサ、ポストプロセッサ、およびアサーション要素の新しいアイコンの提案
  • バグ 50962 - SizeAssertionGui の検証により、サイズの変数を使用できない
  • サイズ アサーション - 応答サイズ スコープ (完全、ヘッダー、本文、コード、メッセージ) を追加 - バグ 43363から派生

機能

  • バグ 49975 - 現在のサンプラーの名前を返す新しい関数

I18N

  • 新しいラベルにフランス語の翻訳を追加し、HTTP サンプルの一部のラベルのサイズを (省略形で) 縮小します。

全般的

  • バグ 30563 - スレッド グループには、サンプル エラーで次のループを開始するオプションが必要です。
  • バグ 50347 - Eclipse のセットアップ手順で、依存する jar をダウンロードするようユーザーに通知する必要があります
  • バグ 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 Sampler は、基盤となる実装でサポートされている任意のプロトコルを使用できるようになりました。
  • SMTP サンプラーが追加されました。
  • JMeter では、ユーザーが独自のスレッド グループの実装を提供できるようになりました。
  • 結果ツリーの表示は、検索や正規表現テストなど、より多くの表示オプションをサポートするようになりました。
  • StatCalculator のパフォーマンスが大幅に向上しました。集計レポートなどに必要なメモリははるかに少なくなります。
  • JMS サンプラーが大幅に作り直され、メッセージが失われなくなりました。相関処理が改善されました。JMS パブリッシャーとサブスクライバーは、トピックとキューの両方をサポートするようになりました。
  • 他にも多くの改善が行われました。以下とマニュアルを参照してください。

既知のバグ

インクルード コントローラーには、非 GUI モードでいくつかの問題があります。特に、同じ名前のインクルード コントローラーが 2 つある場合は、NullPointerException が発生する可能性があります。

一度だけコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

メニュー項目 [オプション] / [言語の選択] では、表示されているすべてのテキストが新しい言語に変更されるわけではありません。[動作は改善されましたが、言語の変更はまだ完全には機能していません] デフォルトのローカル言語を完全にオーバーライドするには、JMeter を開始する前に JMeter プロパティ「language」を設定します。

互換性のない変更

HTTP リダイレクトは、デフォルトで「自動リダイレクト」ではなく「リダイレクトに従う」になりました。これは、JMeter がリダイレクト中に送信される Cookie を追跡できるようにするためです。これは既存のテスト計画には影響しません。新しい HTTP サンプラーのデフォルトにのみ影響します。

JMX および JTL ファイルの Avalon ファイル形式はサポートされなくなりました。このようなファイルはすべて、JMeter 2.3.4 で読み取り、再保存して変換する必要があります。

XPath Assertion 要素と XPath Extractor 要素は、デフォルトで外部 DTD をフェッチしなくなりました。これは GUI で変更できます。

JMSConfigGui は JMSSamplerGui に名前が変更されました。これは、既存のテスト計画には影響しません。

コンストラクタ public SampleResult(SampleResult res) が変更され、真の「コピー コンストラクタ」になりました。addSubResult() は呼び出されなくなりました。これは、一部のサードパーティのアドオン に影響を与える可能性があります。

バグの修正

HTTP サンプラーとプロキシ

  • バグ 47445 - https スプーフィングの安全な Cookie で Proxy を使用するには、保護されていない必要があります
  • バグ 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 Point-to-Point リクエスト - レスポンス オプションが機能しない
  • バグ 48579 - LdapExt Sampler にアクセスすると、Single Bind で構成情報が表示されない
  • バグ 49111 - JMS P2P サンプラーで「Message With ID Not Found」エラー。
  • バグ 47949 - JMS サブスクライバーがすべてのメッセージを受信しない
  • バグ 46142 - JMS ポイントツーポイント相関の問題
  • バグ 48747 - TCP サンプラーが例外を飲み込む
  • バグ 48709 - TCP Sampler Config の設定 "classname" が無効

コントローラー

  • バグ 47385 - TransactionController は AllThreads と GroupThreads を設定する必要があります
  • バグ 47940 - モジュール コントローラーが誤って代替サブツリーを作成する
  • バグ 47592 - エラー時に "Stop test" を使用してスレッド グループを連続して実行すると、JMeter が終了としてマークされない
  • バグ 48786 - スレッド グループを連続して実行: エラーまたは手動停止で「今すぐテストを停止」すると、JMeter は緑色のボックスをアクティブのままにします
  • バグ 48727 - すべてのスレッド グループが無効になっている場合、テストを停止できない

リスナー

  • バグ 48603 - メーラー ビジュアライザーは、1 回の失敗した応答に対して 2 つの電子メールを送信します
  • 集計されたサンプルの min/max/std.dev の正しい計算 (概要レポート)
  • バグ 48889 - mode=Statistical および num_sample_threshold > 1 で応答時間が正しくない
  • バグ 47398 - 分散テストと非 GUI モードで、SampleEvent が RMI 経由で 2 回送信される

アサーション

機能

I18N

全般的

  • バグ 47646 - 「ランダム変数」要素の NullPointerException
  • JDBC 構成への子要素の追加を許可しない
  • BeanInfoSupport が getBeanDescriptor() をキャッシュするようになりました - CSVDataSet (および他のいくつかの TestBeans) を使用する場合、Sun 以外の JVM で NPE を回避する必要があります。
  • バグ 48350 - 2 つのクライアントを使用した分散テストでデッドロックが発生する
  • バグ 48901 - 同期タイマーの追加によるエンドレス待機
  • バグ 49149 - usermanual/index.html の「正規表現」ページへのリンクにタイプミスがあります
  • バグ 49394 - ActionRouter.postActionPerformed での Classcast 例外
  • バグ 48136 - ソース tarball に重要なファイルがありません。
    ソース アーカイブには、以前はバイナリ アーカイブでのみ提供されていたソース ファイルを含む、すべてのソース ファイルが含まれるようになりました。
  • バグ 48331 - XpathExtractor が Nodeset の XML 文字列表現を返さない

改良点

HTTP サンプラー

  • バグ 47622 - HTTPS セッションの記録を有効にする
  • HTTP Sampler GUI および HTTP Config GUI で Proxy Server を指定できるようにする
  • バグ 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 Timeout フィールドは文字列を使用する必要があります
  • バグ 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 のパフォーマンスを改善する
  • サンプル キャッシュが新しい CachingStatCalculator クラスに移動されたため、SamplingStatCalculator を使用するリスナーは必要なメモリが大幅に削減されました。特に、Aggregate Report は多数のサンプルを処理できるようになりました。
  • 集計レポートと概要レポートで、列ヘッダーをオプションで除外できるようになりました
  • バグ 49506 - リスナーの「ファイルから読み取る」機能から、開いているダイアログ ボックスに .csv ファイル拡張子を追加する
  • バグ 49545 - 結果ツリーのサンプル結果の書式設定 (解析) ビュー

タイマー、アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 47338 - XPath Extractor がドキュメント DTD の取得を強制する
  • 比較アサーションの追加
  • バグ 47952 - JSR223 プリプロセッサーとポストプロセッサーを追加
  • JSR223 アサーションを追加
  • BSFタイマーとJSR223タイマーを追加
  • バグ 48511 - 親、子、すべての選択を正規表現エクストラクタに追加
  • Samplerスコープの選択をXPathExtractorに追加
  • 正規表現エクストラクタ、レスポンス アサーション、およびサイズ アサーションを JMeter 変数に適用できるようになりました
  • バグ 46790 - CSV Data Set Config は CSV ヘッダーを解析できる必要があります

機能

I18N

  • バグ 47938 - 新しい要素にフランス語の翻訳を追加
  • バグ 48714 - 新しいフランス語のメッセージを追加

全般的

  • バグ 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
    • JTidy⇒r938
    • JUnit - 3.8.2 ⇒ 4.8.1
    • ログキット - 1.2 ⇒ 2.0
    • Xalan Serializer = 2.7.1 (以前は誤って 2.9.1 と表示されていました)
    • Xerces xml-apis = 1.3.04 (以前は誤って 2.9.1 と表示されていました)
    • 一部の jar ファイルの名前が変更されました。

バージョン 2.3.4

主な変更点のまとめ

これはマイナーなバグ修正リリースで、主に 2.3.3 で誤って追加されたいくつかのバグを修正するためのものです。

既知のバグ

インクルード コントローラーには、非 GUI モードでいくつかの問題があります。特に、同じ名前のインクルード コントローラーが 2 つある場合は、NullPointerException が発生する可能性があります。

一度だけコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

メニュー項目 [オプション] / [言語の選択] では、表示されているすべてのテキストが新しい言語に変更されるわけではありません。[動作は改善されましたが、言語の変更はまだ完全には機能していません] デフォルトのローカル言語を完全にオーバーライドするには、JMeter を開始する前に JMeter プロパティ「language」を設定します。

バグの修正

HTTP サンプラーとプロキシ

  • バグ 47321 - HTTPSampler2 応答タイムアウトが受け入れられない

その他のサンプラー

  • バグ 47290 - コネクション ファクトリ ルックアップ (JMS) での無限ループ
  • JDBC Sampler は、Prepared ステートメントまたは Callable ステートメントを閉じてはなりません。これらはキャッシュされているためです。

コントローラー

  • バグ 39509 - 1 回限りのコントローラーが 2 回実行される

リスナー

  • ディレクトリが作成されていない場合にのみ警告するように ResultCollector を変更します。
  • ResultCollector と SampleResult の同期の問題を修正しました (間違ったロックが使用されていました)。

I18N

  • 2.3.3 で導入されたバグが修正されました。デフォルト ロケールの messages.properties ファイルがない場合、JMeter が起動しません。

全般的

  • リモート クライアントの問題を修正 - 2.3.3 で導入されたバグ
  • バグ 47377 - ClassFinder をより堅牢にし、zip ファイル リソースを閉じる
  • ドキュメント生成時のいくつかのエラーを修正 (Velocity のアップグレード時に 2.3.3 で明らかになった潜在的なバグ)

改良点

その他のサンプラー

  • バグ 47266 - FTP リクエスト サンプラー: デフォルト以外の FTP ポートを指定できるようにする

バージョン 2.3.3

主な変更点のまとめ

テスト終了の処理が大幅に改善されました。段階的な「シャットダウン」コマンドは、すべてのスレッドが停止するまで待機し、スレッドが 5 秒以内に停止しなければエラーを報告しません。「シャットダウン」に時間がかかりすぎる場合は、すぐに「停止」コマンドを使用できるようになりました。また、即時の「停止」コマンドは、新しい割り込み可能インターフェース (HTTP および SOAP、FTP など) をサポートするサンプラーに割り込むことができます。これにより、保留中の応答を即座に完了することができます。非 GUI モードのテストにも、「シャットダウン」または「停止」メッセージを送信できるようになりました。 Test Actionは、 Thread GroupおよびResult Status Action Handler Post Processor 要素 と同様に、「Stop Now」アクションをサポートするようになりました。

HTTP Cookie の処理が改善され、HTTP POST で可変ファイル名を正しく使用できるようになりました。HTTP、SOAP/XML-RPC、および WebService(SOAP) のサンプラー文字エンコーディングが更新され、より一貫性が保たれました。HTTP サンプラーは、接続と応答のタイムアウトをサポートするようになりました (HTTP Java サンプラーには JVM 1.5 が必要です)。上記のクローズダウンの改善と合わせて、これにより、テストの実行がハングするほとんどのケースが回避されます。単一の HTTP サンプラーで複数のヘッダー マネージャー要素がサポートされるようになりました。Proxy Server が改善され、デフォルトで「Host」ヘッダーが保存されなくなりました。

JDBC Request は、必要に応じて Select ステートメントの結果を変数に保存できます。JDBC Request は、引用符で囲まれた文字列と UTF-8 を処理できるようになり、任意の変数の型を処理できるようになりました。

いくつかの新しい関数があります: __char() 関数: 任意の Unicode 文字をフィールドに入力できます。__unescape() 関数: Java でエスケープされた文字列を使用できるようにします。_unescapeHtml() 関数: Html エンコードされたテキストをデコードします。__escapeHtml() 関数: Html エンコードを使用してテキストをエンコードします。${__missing(a)} などの欠損関数への参照は、欠損変数と同じように扱われるようになりました。以前は、関数名 - と先頭の { - が削除されていました。これにより、テスト計画のデバッグが容易になります。

一部のアサーションは、親サンプルだけでなく (またはその代わりに) サブサンプルにも適用できるようになりました。新しいランダム変数構成要素があります。

JMS サンプラーが大幅に改善されました (以下の詳細を参照)。TCP Samplerは、いくつかの追加のクライアントをサポートするようになり、もう少し柔軟になりました。

クライアント サーバー モードが改善され、サーバーはオプションで固定 RMI ポートを使用できるようになりました。これは、ファイアウォールの設定に役立ちます。

さまざまな I18N の変更が行われました。言語の変更がよりうまく機能します (まだ完全ではありませんが)。改善されたフランス語の翻訳だけでなく、新しいポーランド語とブラジルのポルトガル語の翻訳もあります。

BeanShell jar がバイナリ アーカイブに含まれるようになりました。個別にダウンロードする必要はありません。

既知のバグ

インクルード コントローラーには、非 GUI モードでいくつかの問題があります。特に、同じ名前のインクルード コントローラーが 2 つある場合は 、 NullPointerExceptionが発生する可能性があります。

一度だけコントローラーは、スレッド グループまたはループ コントローラーの下で正しく動作しますが、それ以外の場合、その動作は一貫していません (または明確に指定されていません)。

メニュー項目 [オプション]  →  [言語の選択] を選択 しても、表示されるすべてのテキストが新しい言語に変更されるわけではありません。[動作は改善されましたが、言語の変更はまだ完全には機能していません] デフォルトのローカル言語を完全にオーバーライドするには、JMeter を開始する前に JMeter プロパティ「language」を設定します。

互換性のない変更

ファイルからサンプル結果をロードするときに、以前の結果がクリアされなくなりました。これにより、複数のファイルをマージできます。以前の動作が必要な場合は、ファイルをロードする前に 、メニュー項目の実行 → クリア ( Ctrl  +  Shift  +  E ) または実行 → すべてクリア ( Ctrl  +  E ) を使用します。

テスト要素「結果をファイルに保存」および「要約結果を生成」がリスナーとして表示されるようになりました。リスナーとして実装されていても、以前はポストプロセッサとして表示されていました。

Cookie Manager は、デフォルトで着信 Cookie を変数として保存しなくなりました。Cookie を変数として保存するには、プロパティ「CookieManager.save.cookies=true」を定義します。また、Cookie 名には、保存前に「COOKIE_」というプレフィックスが付けられます (これにより、ローカル変数の偶発的な破損が回避されます)。元の動作に戻すには、プロパティ「CookieManager.name.prefix=」(1 つ以上のスペース) を定義します。

Counter 要素が Configuration 要素として表示されるようになりました。Config アイテムとして実装されていても、以前はプリプロセッサとして表示されていました。

上記の変更は、表示されるアイコンと GUI ポップアップ メニューの場所にのみ影響します。テスト計画やテストの動作には影響しません。

PreProcessor は、TestCompiler#configureSampler() メソッドではなく、JMeterThread クラスによって直接呼び出されるようになりました。(JMeterThread は PostProcessor を処理します)。これはテスト計画や動作には影響しませんが、おそらくサードパーティのアドオンに影響を与える可能性があります (ほとんどありません)。

スコープ ルールのサブセクションをセクション 3.「テスト計画の構築」からセクション 4.「テスト計画の要素」に移動しました。

While コントローラーは、条件値がLAST、空白、または false と比較される前に、条件値から先頭と末尾のスペースを削除するようになりました。

_jexl() および __javaScript() 関数の「threadName」変数は、以前は「theadName」と誤って綴られていました。

次の廃止されたメソッドが JOrphanUtils から削除されました: booleanToString(boolean) および valueOf(boolean)。Java 1.4+ には、これらのメソッドが Boolean クラスにあります。

TestElement インターフェイスには、いくつかの新しいメソッドがあります。

  • void setProperty(文字列キー、文字列値、文字列 dflt)
  • void setProperty(文字列キー、ブール値、ブール dflt)
  • void setProperty(文字列キー、整数値)
  • void setProperty(文字列キー、int 値、int dflt)
  • int getPropertyAsInt(String key, int defaultValue)
これらは、すべての要素を拡張するべき AbstractTestElement クラスに実装されているため、問題が発生する可能性はほとんどありません。

バグの修正

HTTP サンプラーとプロキシ

  • バグ 46332 - HTTP Cookie Manager が手動で定義された Cookie を無視する (r707810 で導入されたバグ)
  • Cookie Manager は Cookie ポリシーをランタイム スレッドに渡さなかったため、常に互換モードを使用していました。
  • バージョン属性を JMeter Cookie クラスに追加します (適切な Cookie サポートに必要)
  • Cookie Manager が Cookie のバージョンを保存/復元するようになりました
  • クッキーを保存する前に有効性を確認してください。
  • HTTPSamplers は、POST されたファイル名で変数を使用できるようになりました
  • 関数/変数が機能するように、HTTP POST での最初のファイル名の処理を修正します (複数ファイルのサポートで導入されたバグ)。
  • バグ 45831 - SOAP パケットの作成に失敗した場合、WS Sampler が誤ったスループットを報告する
  • HTTP、SOAP/XML-RPC、および WebService(SOAP) のサンプラー文字エンコーディングが更新され、より一貫性が向上しました
  • バグ 46148 - jmeter.util のロギングが DEBUG に設定されている場合、HTTP サンプラーが SSL 要求で失敗する
  • Java 1.6 https エラーを修正: java.net.SocketException: 接続されていないソケットが実装されていません
  • バグ 46838 - データがない場合でも、HTTPSampler でレイテンシーを設定する必要があります
  • バグ 46993 - ヘッダー マネージャーから保存すると ClassCastException が生成される
  • バグ 46690 - 無効な相対パスによる 302 リダイレクトの処理。JMeter は不要な先頭の「../」セグメントを削除するようになりました (多くのブラウザーと同様)。
  • バグ 44521 - HTTP リクエストの POST の空の変数が無視されない
  • バグ 46977 - JMeter が、空白で区切られていない HTTP ヘッダーを処理しない
  • HTTP ファイルのバグを修正: 処理 - デフォルトのエンコーディングの文字ではなく、バイトを読み取ります。
  • 通常は HTTP スタックによって生成されるため、プロキシ サーバーによって保存されたヘッダーから Host を削除します。
  • バグ 45199 - プロキシ記録で空白の変数を置き換えようとしないでください
  • HTTPS スプーフィングを変更して、URL の一致が失敗した場合でも https: リンクが置き換えられるようにします
  • バグ 46436 - Proxy GUI のエラー報告を改善
  • バグ 46435 - エラー 501 のより詳細なエラー メッセージ (プロキシ サーバー)

その他のサンプラー

  • 「prev」および「sampler」オブジェクトが BSF テスト要素に対して定義されるようになりました
  • クライアント サーバー モードで JDBC を使用する場合の NPE (DataSourceElement 内) を修正します。
  • バグ 45425 - JDBC リクエストが Unicode をサポートしていない (UTF-8 を使用するようにサンプラーを変更)
  • バグ 46522 - 列名がない場合の JDBC サンプルの「応答データ」が正しくない
  • バグ 46821 - JDBC 選択要求が変数の最初の列を保存しない
  • バグ 43791 - JMS ポイント ツー ポイント サンプラーで QueueReceiver が閉じていることを確認する
  • バグ 46016 - JMSSampler で発生する可能性がある NPE を回避する
  • バグ 46142 - JMS レシーバーが MessageID を使用するようになりました
  • バグ 45458 - 認証と組み合わせた Point to Point JMS
  • バグ 45460 - JMS TestPlan 要素がリソース プロパティに依存する
  • さまざまな ReceiveSubscriber スレッド セーフの修正
  • JMSPublisher および Subscriber の修正: スレッド セーフ、動的ロケール変更のサポート、JMX 属性値のロケール非依存性
  • FTP Sampler は、切断する前にログアウトするようになりました。
  • TCP サンプラーが setupTest() および teardownTest() メソッドを呼び出すようになりました
  • バグ 45887 - TCPSampler: タイムアウト プロパティが正しく設定されていない

コントローラー

  • 親サンプルでネストされたトランザクション コントローラーを使用する場合の NPE を修正します。
  • 現在のサンプラーが実際のサンプラーに設定されるように、トランザクション コントローラーの親モードの処理を修正します。
  • バグ 44941 - スループット コントローラーはグローバル カウンターを共有すべきではない
  • バグ 47120 - スループット コントローラー: パーセント実行を合計実行に変更すると、値は文字列に格納され、1 回の実行として解釈されます
  • バグ 47150 - ゼロのループ カウントを持つ ThreadGroup が無限ループを引き起こす
  • バグ 47009 - 親を挿入すると子コントローラー名がリセットされる
  • バグ 47165 - コマンド ライン モードでモジュール コントローラ名を重複して使用すると、NPE が発生する

リスナー

  • Mailer Visualizer のドキュメントは、コードと一致するようになりました。つまり、メールをトリガーするには、失敗/成功のカウントを超える必要があります。
  • Mailer Visualizer に失敗回数が表示されるようになりました
  • Mailer Visualiser - Test ボタン使用時の複数の電子メール アドレスの解析を修正
  • バグ 45976 - 複数のサーバーでリモート テストを使用すると結果ファイルが不完全になる
  • クライアント サーバー モードで動作するように Summariser を修正します。
  • バグ 34096 - CSV ファイルへの書き込み時に重複サンプルが削除されない
  • 集計レポートと概要レポートに「ラベルにグループ名を含める」設定を保存する
  • JMeter 変数「sample_variables」がすべてのサーバー インスタンスに送信され、クライアントがデータを利用できるようになります。
  • CSVSaveService - 引用符付き文字列の読み取り中に EOF を確認します

アサーション

  • バグ 45749 - たまたま無効な RE である部分文字列で応答アサーションが機能しない
  • バグ 45904 - 'Not' 応答アサーションが null サンプルで成功することを許可する

機能

  • 正規表現関数を修正 - $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 Data Set Config」の最後の変数の値が正しくない (引用符付き文字列の処理エラー)

改良点

HTTP サンプラー

  • バグ 45479 - 複数の HTTP ヘッダー マネージャー ノードのサポート
  • HTTP サンプラーが接続タイムアウトと要求タイムアウトをサポートするようになりました (Java Http サンプラーには Java 1.5 が必要です)
  • Apache SOAP 2.3.1 は HTTP 応答コード/メッセージへのアクセスを提供しないため、WebService サンプラーは空の応答をエラーとして扱うようになりました
  • ミラー サーバーが「X-Sleep」ヘッダーをサポートするようになりました。これが設定されている場合、応答スレッドは指定されたミリ秒数だけ待機します。
  • バグ 45694 - Access Log Sampler で GZIP 圧縮ログをサポート

その他のサンプラー

  • JDBC Request は、必要に応じて Select ステートメントの結果を変数に保存できます。
  • JDBC リクエストは、引用符で囲まれた文字列を処理できるようになりました。
  • JDBC リクエストは、任意の変数タイプを処理できるようになりました。
  • LDAP 結果データが改行でフォーマットされるようになりました
  • バグ 45200 - MailReaderSampler: SamplerResult に MIME メッセージ全体を保存する
  • バグ 45571 - JMS サンプラー相関の強化
  • バグ 46030 - TCP サンプラーを拡張して長さプレフィックス付きのバイナリ データをサポートする
  • classname フィールドを TCP サンプラ GUI に追加

コントローラー

  • If Controller が変数式を使用できるようにする (Javascript だけでなく)
  • LAST、空白、または false と比較する前に、While Controller 条件からスペースを削除します

リスナー

  • 応答をファイルに保存すると、生成されたファイル名を変数に保存できます。
  • [応答をファイルに保存] で接尾辞の生成をスキップするオプションを追加
  • バグ 43119 - 応答をファイルに保存: オプションでファイル番号を省略
  • BSF リスナー要素を追加
  • バグ 47176 - モニター結果: 負荷ステータスのグラフィックを改善
  • バグ 40045 - 結果モニターが特定のコネクタを選択できるようにする
  • XML JTL ファイルをより効率的に読み取ります。サンプルをすべて保存してから処理するのではなく、読み取り時にサンプルをビジュアライザーに渡します。

アサーション、構成、プリプロセッサおよびポストプロセッサ

  • バグ 45903 - アサーションをサブサンプルに適用できるようにする
  • ボディ (エスケープされていない) ソース オプションを正規表現エクストラクタに追加します。
  • Random Variable - ランダムな数値変数を作成するための新しい構成要素

機能

  • __jexl() 関数に OUT 変数とログ変数を追加
  • スクリプトを使用して __jexl() 関数を評価し、複数のステートメントを持つことができるようにします。
  • ログ変数を __javaScript() 関数に追加します
  • __char() 関数の追加: 任意の Unicode 文字をフィールドに入力できるようにします。
  • __unescape() 関数を追加: Java エスケープ文字列を使用できるようにします。
  • __unescapeHtml() 関数が追加されました: Html エンコードされたテキストをデコードします。
  • __escapeHtml() 関数が追加されました: Html エンコーディングを使用してテキストをエンコードします。

I18N

  • バグ 45929 - 改善されたフランス語の翻訳
  • バグ 47132 - ブラジル ポルトガル語の翻訳
  • バグ 46900 - ポーランド語の翻訳
  • 新しいロケールを許可する locales.add プロパティを追加

全般的

  • JMeter パス名にスペースを許可する ( Java Bug 4496398の回避策を適用)
  • JVM_ARGS をスクリプト ファイルの最後に処理して、ユーザーがデフォルト設定をオーバーライドできるようにする
  • バグ 46636 - サーバー モードでオプションで固定 rmi ポートを使用できるようにする
  • 一部のサンプラーを割り込み可能にする: HTTP (両方)、SoapSampler、FTPSampler
  • テスト アクションは、スレッド グループおよび結果ステータス ポスト プロセッサ要素と同様に、「今すぐ停止」アクションをサポートするようになりました
  • メニュー項目の Stop と Shutdown の動作が改善されました。シャットダウンは、すべてのスレッドが終了するまで待機します。GUI モードでは、キャンセルして代わりに実行を停止できます。一部のスレッドが終了しない場合は今すぐ停止し、非 GUI モードで実行している場合は終了します
  • 非 GUI モードで実行している場合にシャットダウン メッセージを待機する UDP サーバーを追加します。メッセージを送信する UDP クライアントを追加します。
  • バグ 41209 - JLabeled* とツールチップ
  • バイナリ ダウンロードに BeanShell 2.0b4 jar を含めます。

機能以外の変更

  • AbstractListenerGui クラスを導入して、視覚的な出力のないリスナーを簡単に作成できるようにします
  • アサーションは PostProcessors の後に実行されます。それに応じてポップアップメニューの順序を変更する
  • 関数クラスから不要な clone() メソッドを削除する
  • PreProcessor 呼び出しを JMeterThread クラスに移動
  • HashTree Map フィールドを final にしました
  • 複数のサンプルに対する 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 では、Cookie マネージャーにバグが導入されました。「反復ごとに Cookie をクリアする」が選択されている場合、すべてのスレッドが同じ Cookie を認識します。このバグは修正されました。

改良点

プロキシ サーバーは、バイナリ リクエストを記録できるようになりました。デフォルトでは、コンテンツ タイプ application/x-amf および application/x-java-serialized-object はバイナリとして扱われ、ファイルに保存されます。コンテンツ タイプを変更するには、プロパティproxy.binary.typesを更新します。

CSV データセット構成要素には、スレッド グループごと、スレッドごと、識別子ごとの新しいファイル共有オプションがあります。これにより、より柔軟なファイル処理が可能になります。たとえば、各スレッドは同じデータを同じ順序で処理できます。

Switch Controller が関数と変数で適切に機能するようになり、条件を数値ではなく名前にすることができるようになりました。シンプル コントローラーは、While コントローラーの下で適切に動作するようになりました

JTL ファイルの CSV フィールドに区切り記号を含めることができるようになりました。CSV および XML ファイルに追加の変数を含めることができるようになりました (JMeter プロパティsample_variablesを定義します)。

応答アサーションは、部分文字列 (つまり、正規表現ではない) で一致できるようになりました。正規表現エクストラクタは、変数に対して操作できます。

XPath 処理が改善されました。きちんとしたエラーはより適切に処理されます。

集計レポートと集計レポートにテーブル データの保存ボタンが追加され、計算されたデータを簡単に保存できるようになりました。

HTTP サンプラーは、応答全体ではなく、応答の MD5 ハッシュのみを保存できるようになりました。特殊なケースとして、HTTP サンプラーのパスが「http://」または「https://」で始まる場合、これが完全な URL として使用され、ホスト フィールドとポート フィールドがオーバーライドされます。HTTP サンプラーは、複数のファイルを POST できるようになりました。Webservice(SOAP) Sampler は、「file:」プロトコルを使用してローカル WSDL ファイルをロードできるようになりました。

シンプルな HTTP キャッシュ マネージャーが追加されました。これにはさらなる開発が必要です。

View Results Tree Listener は Tidy を使用して XML を表示するようになりました。これにより、より多くのコンテンツを正常に表示できるようになります。また、レンダリングが大幅に遅くなるリモート DTD ファイルをダウンロードする必要がなくなります。

MailReader サンプラーが POP3S および IMAPS プロトコルをサポートするようになりました。個々のメールがサブサンプルとして追加されました。

BSF サンプラーのさまざまな改善: Jexl をサポートするようになり、Javascript バグが適切に機能します。BSF PreProcessor、PostProcessor、および Assertion テスト要素を追加しました。すべてが "props" JMeter プロパティ オブジェクトにアクセスできるようになりました。

非 GUI モードでロードされるクラスの数が大幅に削減されます。

既知のバグ

インクルード コントローラーには、非 GUI モードでいくつかの問題があります。特に、同じ名前のインクルード コントローラーが 2 つある場合は、NullPointerException が発生する可能性があります。

スレッドグループまたはループコントローラーの下でのみコントローラーが正常に動作しますが、それ以外の場合、その動作は一貫していません(または明確に指定されています)。

メニュー項目 [オプション] / [言語の選択] では、表示されているすべてのテキストが新しい言語に変更されるわけではありません。デフォルトのローカル言語をオーバーライドするには、JMeter を開始する前に JMeter プロパティ「language」を設定します。

互換性のない変更

  • 非 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 区切り文字が適切であることを確認してください。
  • 関数と変数で正しく動作するように Switch Controller を修正
  • バグ 44011 - application/soap+xml がテキスト型として扱われない
  • バグ 43427 - シンプルなコントローラーが While ループで部分的にしか実行されない
  • バグ 33954 - If/While コントローラーのスタック オーバーフロー (以前に修正された可能性があります)
  • バグ 44022 - テスト計画を閉じるときのメモリ リーク
  • バグ 44042 - Cookie Manager のリグレッション (2.3.1 で導入されたバグ)
  • バグ 41028 - ホストがループバック アドレスとして定義されている場合、JMeter サーバーはユーザーに警告しません。
  • バグ 44142 - パラメータが省略されている場合、関数 __machineName によって NPE が発生します。
  • バグ 44144 - JMS ポイントツーポイント: 要求応答テストが機能しない
  • バグ 44314 - 複数の SyncTimer を追加できない
  • Tidy コンソールのエラー出力をキャプチャしてログに記録する
  • XPath Assertion および XPath Extractor で Tidy (寛容なパーサー) を使用する際の問題を修正します。
  • バグ 44374 - タイマー計算の改善
  • 正規表現エクストラクタは、以前の一致からすべての古い変数を削除するようになりました。
  • バグ 44707 - リモート テストを実行すると内部テスト計画が変更される
  • バグ 44625 - 「put」および「get」アクションが異なる 2 つ以上の FTP サンプラーを持つことはできません
  • バグ 40850 - BeanShell のメモリ リーク
  • JDBC サンプルが成功するように ResponseCode と ResponseMessage が設定されていることを確認する
  • FTPSampler がリモート ファイルを開く失敗を検出して報告するようになりました
  • search_paths および user.classpath で定義されたクラス ディレクトリは、末尾の "/" を必要としなくなりました
  • バグ 44852 SOAP/XML-RPC リクエストで、結果ツリーの表示にリクエストの詳細が表示されない
  • WebService(SOAP) Sampler ResponseData に、サーバーから送信された EOL が含まれるようになりました
  • バグ 44910 - TCP サンプラーで以前のソケット (存在する場合) を閉じる
  • バグ 44912 - Log Parser でフィルタが機能しない
  • BeanShell および BSF コンポーネントのドキュメントで、「SampleResponse」オブジェクトへの誤った参照が行われました。これは「SampleResult」に修正されました
  • BSF サンプラーが Javascript で正しく動作するようになりました
  • テスト アクション「テストの停止」が機能するようになりました
  • バグ 42833 - 引数クラスは getArgumentsAsMap() で LinkedHashMap を使用して順序を保持します
  • バグ 45093 - SizeAssertion が getBytes() を呼び出さない
  • バグ 45007 - Proxy HTTPS スプーフィングの使用時に Location ヘッダーを書き換える
  • クライアントにヘッダーを返すときに、プロキシで LF ではなく CRLF を使用する
  • バグ 45007 - コンテンツが変更された可能性がある場合、コンテンツの長さヘッダーを修正

改良点

  • CSV ファイルで、区切り文字が埋め込まれたフィールドを処理できるようになりました。
  • longSum() 関数が追加されました
  • バグ 43382 - XPath アサーションとポストプロセッサの Tidy 出力 (警告、エラー) を構成する
  • バグ 43984 - ポート フィールドからスペースを削除する
  • __log() 関数にオプションのコメントを追加
  • Random 関数の変数名をオプションにする
  • 「.functions.」を含むクラス名で関数のみを検索することにより、非 GUI モードでのクラスの読み込みを減らします。「.gui.」を含めないでください。
  • バグ 43379 - スイッチ コントローラーは、番号だけでなく名前による選択もサポートするようになりました
  • JTL ファイル (CSV および XML 形式) に書き込む変数名のリストを指定できます。
  • remoteStart オプション -r および -R が non_GUI -n オプションでのみ使用されることを確認するようになりました
  • バグ 44184 - Aggregate Graph データでヘッダーを保存できるようにする
  • 集計レポートと要約レポートに「テーブル データの保存」ボタンを追加 - テーブルをヘッダー付きの 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 Sampler パスが「http://」または「https://」で始まる場合、これが完全な URL として使用されます。
  • バグ 44575 - 結果セーバーは成功した結果のみを保存できるようになりました
  • バグ 44650 - CSV データセットが引用された列の値を処理するようになりました
  • バグ 44600 - Java 1.5+ で実行すると 1 ミリ秒の解像度タイマー
  • バグ 44632 - FTP サンプラーへのテキスト入力の機能強化
  • バグ 42204 - Aggregate および Summary レポートにスレッド グループ名を追加
  • FTP サンプラーはレイテンシーをログイン時間に設定します
  • FTP サンプラーは、可能であれば URL を設定します
  • バグ 41921 - サンプラーが応答の MD5 を保存するオプションを追加。HTTP サンプラーに対して行われます。
  • 正規表現関数は、以前のサンプル結果だけでなく、変数にも適用できるようになりました。
  • HTML パラメーター マスク、HTTP ユーザー パラメーター修飾子は廃止されたため、メニューから削除します。
  • バグ 44807 - セッション ID をバックスラッシュで終了できるようにする
  • バグ 44784 - 壊れたサーバーが追加の文字セットを返すことを許可する
  • 追加された TESTSTART.MS プロパティ / 変数 = テスト開始時間 (ミリ秒)
  • Mail Reader Sampler に POP3S および IMAPS プロトコルを追加します。
  • メール リーダー サンプラーは、メールごとにサブサンプルを作成するようになりました。
  • 提供された TCPClient 実装は、tcp.eolByte=0 を特別なものとして扱わなくなりました。EOL チェックをスキップするには、tcp.eolByte=1000 (または有効なバイトではない他の値) を設定します。
  • JUnit サンプラー GUI は、user.classpath で定義された Test クラスも検出するようになりました
  • 先頭と末尾のスペースは、関数呼び出しの変数名から削除されます。たとえば、${__Random(1,63, LOTTERY )} は、' LOTTERY ' ではなく変数 'LOTTERY' を使用します。
  • Webservice(SOAP) Sampler は、file: プロトコルを使用してローカル 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 Sampler に 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 への更新
  • log/logn 関数の説明にプロパティを使用する
  • demos ディレクトリ内のすべての jmx ファイルをロードできることを確認します。
  • 著作権を 2008 年に更新。HTML 出力で数字の代わりにコピー タグを使用する
  • コンストラクターから呼び出されるメソッドはオーバーライド可能であってはなりません: GUI の初期化メソッドを非公開にする
  • 可能であれば静的変数を final にする
  • 変更を現在と以前に分割する

バージョン 2.3.1

変更の概要

JMeter プロキシ

Proxy spoof 機能は 2.3 で壊れていました。修正されました。Spoof は、特定の URL へのスプーフィングを制限するオプションのパラメーターをサポートするようになりました。これは、HTTP を使用して画像/スタイルシートにアクセスできるなど、安全でないコンテンツを含む HTTPS ページに役立ちます。スプーフィングされた応答は、https リンクからデフォルトのポート (443) を削除して、より適切に機能するようになりました。

無視されたプロキシ サンプルがリスナーに表示されるようになりました。ラベルは [ と ] で囲まれています。プロキシのドキュメントが改善されました。

GUI の変更

[追加] メニューには、要素タイプが処理される順序で表示されます。テスト計画の実行順序を参照してください。ツリーの不適切な部分にテスト要素を追加することはできなくなりました。たとえば、サンプラーをテスト計画の直下に追加することはできません。これは、貼り付けとドラッグ アンド ドロップにも適用されます。

[ファイル] メニューで、現在のファイルをリロードする "元に戻す" オプションがサポートされるようになりました。また、簡単にリロードできるように、最後に使用されたいくつかのファイル名が記憶されます。

オプション メニューは、テスト ツリーを折りたたんだり展開したりするための [すべて折りたたむ] および [すべて展開する] 項目をサポートするようになりました。

リモートテスト

JMeter サーバーは、RMI サーバーを直接 (デフォルトで) 開始するようになりました。これにより、テストが簡素化され、サーバーが停止すると RMI サーバーも停止することになります。

リスナーのファイル名で関数を使用できるようになりました (変数は機能しません)。

コマンドライン オプション -G を使用して、リモート サーバーのプロパティを定義できるようになりました。オプション -X を使用すると、非 GUI の実行後にリモート サーバーを停止できます。サーバーは、1 回のテスト後に自動的に終了するように設定できます (プロパティ server.exitaftertest=true を設定)。

その他の機能強化

JMeter の起動時に、多くのクラスが読み込まれなくなりました。これにより、メモリ要件が軽減されます。

パラメータとファイルのサポートがすべての BeanShell 要素に追加されました。Javascript 関数が JMeter オブジェクトへのアクセスをサポートするようになりました。Jexl 関数には常にアクセス権がありましたが、ドキュメントが含まれるようになりました。変数を評価するための新しい関数 __eval() および __evalVar()。

正しいヘッダー列名を持つ CSV ファイルは、ロード時に自動的に認識されるようになりました。プロパティを設定する必要はありません。

ホスト名を CSV および XML 出力ファイルに保存できるようになりました。結果ファイルを保存するときに、新しい「成功のみ」オプションが追加されました。XML および CSV ファイルをロードするときに、エラー/成功のみのオプションがサポートされるようになりました。

一般的なドキュメントの改善。

HTTP

PUT と DELETE が適切に機能するようになりました。Cookie Manager は、手動で入力された Cookie を消去しなくなりました。

META タグ http-equiv charset を処理するようになりました

JDBC

JDBC Sampler では、呼び出されたプロシージャの INOUT および OUT パラメータを使用できるようになりました。JDBC Sampler がスレッドごとの接続を許可するようになりました - JDBC Config で 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 - 可変リスナー ファイル名がリモート テストで処理されません。ファイル名に関数参照を含めることができるようになりました。変数参照は機能しません。
  • コピーして貼り付けたときに、リスナー ノードが独自の保存構成を取得することを確認する
  • 正しい Proxy Server の include および exclude 一致する説明 - 以前に文書化されたものとは対照的に、ポートとクエリが含まれます。
  • 集計グラフと集計レポートの列ヘッダーは KB/秒です。値をバイトではなく KB に修正
  • SamplingStatCalculator を修正して、SampleResult によって処理されるため、経過時間を endTime に追加しないようにします。これにより、概要レポートと集計レポートのスループット計算の不一致が修正されます。
  • HTTPSampleResult のデフォルトは ISO-8859-1 エンコーディング
  • 空のエンコーディングのデフォルトのエンコーディングを修正
  • 2.3 で壊れていた Https スプーフィング (ポートの問題) を修正
  • HTTP (Java) サンプラーを修正して、http.java.sampler.retries が再試行を意味するようにします。つまり、最初の試行が含まれません。
  • SampleResult の dataType チェックを修正して、TEXT ドキュメントをより適切に検出できるようにします

改良点

  • run_gui Ant ターゲットをパッケージに追加し、Ant から JMeter GUI を起動します。
  • [ファイルを追加]→[元に戻す] を使用すると、現在の変更を簡単にドロップして、現在ロードされているプロジェクト ファイルをリロードできます
  • バグ 31366 - 最近開いたファイルを記憶する
  • バグ 43351 - パラメータとスクリプト ファイルのサポートをすべての BeanShell テスト要素に追加する
  • SaveService でクラスをインスタンス化する必要がなくなりました
  • 新しい関数: __eval() および __evalVar()
  • メニュー項目が実行順に表示されるようになりました
  • テスト計画項目は、許可されているツリーの部分にのみドロップ/貼り付け/マージできるようになりました
  • システムおよび JMeter プロパティの値を表示し、それらを変更できるようにするプロパティ表示
  • バグ 43451 - Regex Extractor が応答コード/メッセージで動作できるようにする
  • JDBC サンプラーは、呼び出されたプロシージャーの INOUT および OUT パラメーターを許可するようになりました
  • JDBC Sampler がスレッドごとの接続を許可するようになりました
  • Cookie Manager は、GUI で定義された Cookie を消去しなくなりました
  • 名前のない HTTP パラメータは無視されます (ファイルのない POST リクエストを除く)
  • メインメニューに「選択範囲を保存」を追加。項目のみが選択されていることを確認するようになりました
  • テスト計画に [貼り付け] メニュー項目が追加されました (貼り付けは ^V で既にサポートされていました)。
  • CSV ファイルをロードするときにデフォルトの区切り文字が機能しない場合は、ヘッダー行を分析して区切り文字を推測します。
  • HttpClient サンプラーにオプションの「ループバック」プロトコルを追加
  • HTTP ミラー サーバーは、要求に content-length ヘッダーが存在する場合、さらにデータが表示されるのを待つブロッキングをサポートするようになりました
  • 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 Sampler 言語フィールドのドロップダウン リストを使用
  • CSV および XML 出力ファイルに保存できるアイテムにホスト名を追加します。
  • XML および CSV ファイルの読み込み時に、エラーのみのフラグがサポートされるようになりました
  • ResultCollector が SaveService エンコーディングを使用していることを確認する
  • プロキシは、https での使用を拒否するようになりました
  • プロキシ スプーフィングでは、RE マッチングを使用してスプーフィングする URL を決定できるようになりました (画像が https でない場合に役立ちます)。
  • プロキシ スプーフィングは、https: リンクを http:
  • 成功のみのログと表示を追加
  • JMeter ログ ファイル名は、単一引用符のペアが含まれている場合、SimpleDateFormat (現在の日付に適用される) としてフォーマットされます (例: 'jmeter_'yyyyMMddHHmmss'.log')。
  • [すべて折りたたむ] および [すべて展開する] オプション メニュー項目を追加しました
  • テキストとして表示可能な追加のコンテンツ タイプをオプションで定義できるようにする

非機能改善

  • Functor コードが強化されました。Functor は、事前定義されたターゲットとパラメーターだけでなく、インターフェイスでも使用できるようになりました。
  • グラフィックの保存機能は、既存のファイルを上書きする前にプロンプ​​トを表示するようになりました
  • Debug Sampler と Debug PostProcessor が追加されました。
  • Calculator と SamplingStatCalculator のメソッド名を修正
  • Listener のドキュメントを整理しました。

バージョン 2.3

2.3RC4以降の修正

バグの修正

  • SampleResultConverter の NPE を修正 - XStream PrettyPrintWriter が null を処理できない
  • Java HTTP サンプラーが null の ResponseMessage を検出した場合は、HTTP ヘッダーに置き換えます
  • バグ 43332 - 2.3RC4 が TestBean に基づく Guis をクリアしない
  • バグ 42948 - Java 1.6 の Proxy 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 - サイズ アサーションが空の応答を長さゼロとして扱うようになりました
  • バグ 43007 - すべてのスレッドグループが開始する前にテストが終了する
  • 302 に Location ヘッダーがない場合に HTTPSampler2 で発生する可能性がある NPE を修正します。
  • バグ 42919 - CSV 出力の失敗メッセージが空白 [空白でない最初のメッセージが記録されるようになりました]
  • Extending 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 - 変数の Cookie 値を許可する (CookieManager.allow_variable_cookies=false を設定して無効にする)
  • バグ 40873 - JMS ポイントツーポイント非永続配信オプションを追加
  • バグ 43283 - 存在しない場合、保存アクションは .jmx を追加します。名前を付けて保存時に既存のファイルをチェック
  • Control  +  Aキーは、[すべてを名前を付けて保存] では機能しません。Control  +  Shift  +  Sに変更
  • バグ 40991 - アサーションがヘッダーをチェックできるようにする

バージョン 2.3RC3

既知の問題/制限:

JMeter リモート サーバーは複数の同時テストをサポートしていません。各リモート テストは個別のサーバーで実行する必要があります。そうしないと、StandardJMeterEngine の ConcurrentModification 例外など、ランダムな例外でテストが失敗する可能性があります。 バグ 43168を参照してください。

デフォルトの HTTP リクエスト (HTTPClient ではない) サンプラーは、プロキシ経由の HTTPS 接続では機能しない場合があります。これは Java のバグによるものと思われます 。Bug 39337を参照してください。この問題を回避するには、より新しいバージョンの Java を試すか、HTTP リクエスト サンプラーの HTTPClient バージョンに切り替えます。

トランザクション コントローラーの親モードは、ネストされたトランザクション コントローラーをサポートしていません。これを行うと、TestCompiler で Null Pointer Exception が発生する可能性があります。

リモート テストを実行している場合、CSV および XML ファイルのスレッド アクティブ カウントは常にゼロです。

プロパティ 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 Sampler は Ascii/Binary モードとアップロードをサポート
  • トランザクション コントローラーは、オプションでサブ結果を含むサンプルを生成するようになりました
  • HTTPS セッション コンテキストは、共有ではなく、スレッドごとになりました。これにより、複数のユーザーのエミュレーションが向上します
  • BeanShell 要素が ThreadListener および TestListener インターフェースをサポートするようになりました
  • 失敗したサンプルをより明確に区別するために、ツリー ビュー リスナーおよびその他の場所の色分けされたアイコン。

主なバグ修正は次のとおりです。

  • HTTPS (SSL) 処理が大幅に改善されました
  • さまざまなリモートモードのバグが修正されました
  • Control  +  C およびControl  +  Vがテスト ツリーで機能するようになりました
  • CSV ログ出力で遅延とエンコーディングが利用可能に
  • テスト要素は以前の内容にデフォルト設定されなくなりました。言語を変更したときにテスト要素がクリアされなくなりました。

互換性のない変更 (使用法):

注意: javax.net.ssl プロパティは jmeter.properties から system.properties に移動され、jmeter.properties で定義されている場合は機能しなくなります。
新しい配置は、任意のシステム プロパティを定義できるため、より柔軟です。

SSL セッション コンテキストは、共有されるのではなく、スレッドごとに作成されるようになりました。これにより、HTTPS テストのより現実的な負荷が生成されます。この変更により、多くの SSL スレッドを使用したテストが遅くなる可能性があります。JMeter プロパティを設定することで、元の動作を有効にすることができます。

https.sessioncontext.shared=true

LDAP 拡張サンプラーは、スレッド バインド テストとシングル バインド テストの両方に同じパネルを使用するようになりました。これは、Single-bind テストを使用するすべてのテストを更新して、ユーザー名とパスワードを設定する必要があることを意味します。

バグ 41140 : JMeterThread の動作が変更され、PostProcessors が以前の逆順ではなく順順 (テスト計画に表示されるとおり) で実行されるようになりました。元の動作は、次の JMeter プロパティを設定することで復元できます:
jmeterthread.reversePostProcessors=true

HTTP Authorization Manager にドメインとレルム用の追加の列が追加されたため、ドメインとレルムを区切るためにユーザー名で「\」と「@」を使用するという一時的な回避策が削除されました。

Control  +  Zは Remote Start All に使用されなくなりました - これはControl  +  Shift  +  Rを使用するようになりました

HttpClient は、プリエンプティブ認証を使用するようになりました。これは、次のように設定することで変更できます。

jmeter.プロパティ:
httpclient.parameters.file=httpclient.parameters

httpclient.parameters:
http.authentication.preemptive$Boolean=false

HTTP リクエストのデフォルトのポート フィールドは、80 に設定されている場合、https サンプラーに対して無視されなくなりました。

互換性のない変更 (開発):

: clear() メソッドは次のインターフェイスで定義されています: Clearable、JMeterGUIComponent、および TestElement。メソッドの目的が異なるため、そのうちの 2 つが名前変更されました。Clearable メソッドは clearData() になり、JMeterGUIComponent メソッドは clearGui() になりました。サードパーティのアドオンは、再構築が必要になる場合があります。

Calculator および SamplingStatCalculator クラスは、データの書式設定を提供しなくなりました。書式設定は jorphan.gui レンダラー クラスを使用して行う必要があります。

非推奨のメソッド JMeterUtils.split() を削除しました - 代わりに JORphanUtils バージョンを使用してください。

メソッド saveUsingJPEGEncoder() が SaveGraphicsService から削除されました。これまでは使用されておらず、JMeter で唯一の Sun 固有のクラスを使用していました。

新機能/改善:

  • ドメインとレルムのサポートを HTTP Authorization Manager に追加する
  • HttpClient は、無効な証明書などに対して JDK http サンプラーと同じように動作するようになりました。
  • HttpClient パラメータを定義できるように httpclient.parameters.file を追加
  • バグ 33964 - 名前/タイプが省略されている場合、HTTP リクエストは投稿本文全体としてファイルを送信できます
  • バグ 41705 - POST リクエストの HTTP サンプラーに content-encoding オプションを追加
  • バグ 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 ポスト プロセッサは、結果データの長さがゼロのサンプルを無視しなくなりました
  • 起動時に BeanShell スクリプトを実行する beanshell.init.file プロパティを追加
  • バグ 39864 - BeanShell 初期化ファイルが現在のディレクトリまたは bin ディレクトリから見つかるようになりました
  • BeanShell 要素が ThreadListener および TestListener インターフェースをサポートするようになりました
  • BSF サンプラーは追加の変数をスクリプトに渡します
  • WebService (SOAP) Sampler のタイムアウトを追加
  • バグ 40825 - JDBC 準備済みステートメントのサポートを追加
  • JDBC サンプラーの拡張: コミット、ロールバック、AutoCommit
  • バグ 41457 - 接続を再利用しないように TCP サンプラー オプションを追加
  • バグ 41522 - サンプル結果で JUnit サンプラー名を使用する
  • バグ 42223 - FTP サンプラーがファイルをアップロードできるようになりました
  • バグ 40804 - カウンターのデフォルトを max = Long.MAX_VALUE に変更
  • プロパティ jmeter.home (存在する場合) を使用して、JMeter の起動時に user.dir をオーバーライドします
  • jmeter ログ ファイルを簡単に変更するための新しい -j オプション
  • HTTP ミラー サーバー ワークベンチ要素
  • バグ 41253 - NodeList 以外の XPath 式で動作するように XPathExtractor を拡張する
  • バグ 42088 - ブール値の XPath アサーションを追加
  • ネストされた変数名を解決する __V 変数関数を追加
  • バグ 40369 - Equals レスポンス アサーション
  • バグ 41704 - CSV DataSet に文字セット エンコーディングを指定できるようにする
  • バグ 41259 - すべてのテスト要素に追加されたコメント フィールド
  • 概要レポートに標準偏差を追加
  • バグ 41873 - AssertionResult に名前を追加し、AssertionResult を ViewResultsFullVisualizer に表示する
  • バグ 36755 - XML テスト ファイルを UTF-8 エンコーディングで保存する
  • ツリー ビュー リスナーに ISO 日時形式を使用します (以前は年が表示されませんでした)。
  • CSV ファイルの読み込みを改善します。可能であれば、ヘッダーを使用して形式を決定します。ミリ秒でない場合はタイムスタンプ形式を推測します
  • バグ 41913 - TransactionController は、トランザクションのサブサンプルとしてサンプルを作成するようになりました
  • バグ 42582 - ツリー ビュー リスナーでの JSON プリティ プリント
  • バグ 40099 - ForEachController でのオブジェクト変数の使用を有効にする
  • バグ 39693 - 結果テーブルの表示でチェック ボックスの代わりにアイコンが使用される
  • バグ 39717 - 結果ツリーでアイコンを使用する
  • バグ 42247 - HCI の改善
  • ユーザーが閉じるダイアログをキャンセルできるようにする

機能以外の改善:

  • Functor 呼び出しを単体テストできるようになりました
  • com.sun.net クラスを javax.net に置き換えます
  • 外部 jar 定義を build.properties ファイルに抽出します
  • ビルド クラスパスで特定の jar 名を使用して、エラーがより早く検出されるようにします
  • ORO 呼び出しの整理。現在は 1 つのキャッシュのみ、サイズは oro.patterncache.size で指定、デフォルトは 1000
  • バグ 42326 - .jmx ファイルの要素の順序が変更される

外部 jar の更新:

  • Htmlparser 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
  • commons-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 Exception を修正します (TestAction など)。
  • バグ 41140 - ポストプロセッサが逆順で実行される
  • バグ 41277 - CSV 出力に遅延とエンコーディングを追加
  • バグ 41414 - Mac OS X が余分な項目を -jar クラスパスに追加することがある
  • リモート テストでスレッド数を保存するときの NPE を修正
  • バグ 34261 - HtmlParser の NPE (欠落している属性を許可)
  • バグ 40100 - close を呼び出す前に FileServer タイプを確認してください
  • バグ 39887 - jmeter.util.SSLManager: キーストアのエラー メッセージを読み込めませんでした
  • バグ 41543 - Web サーバーが "500 Internal Server Error" を返し、content-length が 0 の場合の例外
  • バグ 41416 - SOAP-RPC サンプラーのテキスト ボックス入力にチャンク入力を使用しないでください
  • バグ 39827 - ファイルの SOAP サンプラー コンテンツの長さ
  • Clear.java のクラス キャスト例外を修正
  • バグ 40383 - content-type が既に設定されている場合は設定しないでください
  • テスト計画がまだ保存されていない場合、メーラー ビジュアライザーのテスト ボタンが機能するようになりました
  • バグ 36959 - ショートカット「ctrl c」および「ctrl v」がツリー要素で機能しない
  • バグ 40696 - STYLE URL() 属性から埋め込みリソースを取得する
  • バグ 41568 - 「カウンター」を使用してリモートでテストを実行すると問題が発生する
  • タイムスタンプが常に終了タイム スタンプであると想定していたさまざまなクラスを修正しました。
    • SamplingStatCalculator
    • 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 の「クリア」メソッドを実装
  • バグ 25441 - TestPlan の変更が正しく検出されないことがある (isDirty)
  • バグ 39734 - コピー/貼り付け操作後にリスナーが共有される
  • バグ 40851 - 繰り返しが 0 のループ コントローラが、繰り返しフィールドの評価を停止する
  • バグ 24684 - jmeter のパスにスペースがある場合のリモート起動の問題
  • CSV データ ファイルのロード時にリスナー構成を使用する
  • 関数メソッド setParameters() を同期する必要があります
  • CLI の長いオプション引数を修正して、「=」を要求するようにしました (短いオプションと同様)。
  • Httpclient (http と https の両方) で正しく動作するように SlowSocket を修正しました。
  • バグ 41612 - If Controller にネストされたループが不規則に動作する
  • バグ 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を設定することで無効にできます。

既知の問題:

  • ポストプロセッサは逆の順序で実行されます ( Bug 41140を参照)
  • モジュール コントローラが非 GUI モードで動作しない
  • Aggregate Report および一部の他のリスナーは、テストが進行するにつれて使用するメモリ量が増加します。
  • デフォルト以外のエンコーディングを常に適切に処理するとは限りません
  • インストール パスにスペースがあると、クライアント サーバー モードで問題が発生する
  • 言語の変更がすべてのテスト要素に反映されない
  • SamplingStatCalculator は、計算目的ですべてのサンプルのリストを保持します。これにより、実行時間の長いテストでメモリが枯渇する可能性があります
  • サーバー証明書の有効期限が切れているか、ローカルにインストールされていない場合、サーバー証明書を適切に処理しない

新機能:

  • レポート機能
  • XPath エクストラクタ ポストプロセッサ。単一および複数の一致を処理します。
  • よりシンプルな JMX ファイル形式 (2.2)
  • BeanshellSampler コードは ResponseData を直接更新できます
  • バグ 37490 - Duration アサーションの遅延として UDV を許可する
  • HttpClient の接続エミュレーションが遅い
  • JUnitSampler が強化され、デフォルトでアサート エラーと例外がエラー メッセージに追加されなくなりました。ユーザーはサンプラーで追加を明示的にチェックする必要があります
  • CSVDataSet との連携方法を説明するために Web サービス サンプラーのドキュメントを強化しました
  • コンマのエスケープを説明する JavaScript 関数のドキュメントを強化しました。
  • CSV データ セットのファイル名を絶対名にすることを許可する
  • レポート ツリー コンパイラ エラーの改善
  • デフォルトが空の場合、Regex Extractor 変数をリセットしないでください
  • includecontroller.prefix プロパティが追加されました
  • 正規表現エクストラクタはグループ数を設定します
  • 右側のペインだけでなく、画面全体を画像として保存できるようになりました
  • バグ 38901 - オプションの SOAPAction ヘッダーを SOAP Sampler に追加する
  • 新しい BeanShell テスト要素: Timer、PreProcessor、PostProcessor、Listener
  • __split() 関数は次の変数をクリアするようになったため、ForEach コントローラーで使用できます
  • バグ 38682 - CallableStatement 機能を JDBC Sampler に追加
  • RMI/サーバーポートの変更を容易にする
  • プロパティ jmeter.save.saveservice.xml_pi を追加して、JTL ファイルでオプションの xml 処理命令を提供します
  • サンプル ログ ファイル (XML および CSV) に保存できる項目にバイトと URL を追加します。
  • ポスト プロセッサの「応答をファイルに保存」により、生成されたファイル名がサンプルと共に保存されるようになり、そのファイル名をサンプル ログ ファイルに含めることができるようになりました。
  • jmeter.bat DOS スクリプトを変更して、任意のディレクトリから動作するようにします。
  • コマンドラインから nonProxyHosts を定義する新しい -N オプション
  • 入力ファイルからシステム プロパティを定義する新しい -S オプション
  • バグ 26136 - ローカル アドレスの構成を許可する
  • テスト計画のロード時にデフォルトでツリーを展開 - プロパティ onload.expandtree=false を設定することで無効にできます
  • バグ 11843 - URL リライターがセッション ID をキャッシュできるようになりました
  • Counter Pre-Processor が書式設定された数値をサポートするようになりました
  • HEAD PUT OPTIONS TRACE および DELETE メソッドのサポートを追加
  • デフォルトの HTTP 実装の変更を許可する
  • 必要に応じて、アクティブなスレッド数 (グループおよびすべて) を結果ファイルに保存します
  • リスナーのファイル名に変数/関数を使用できるようになりました
  • 新しい __time() 関数。START.MS/START.YMD/START.HMS のプロパティと変数を定義する
  • ツリー ビューとテーブル ビューにスレッド名を追加する
  • デバッグ機能を追加: クラス、デバッグ オン、デバッグ オフ
  • キャッシュなしの電卓 - テーブル ビジュアライザーでメモリ フットプリントを削減するために使用されます。
  • 概要レポート - 集計レポートに似ていますが、メモリ使用量は少なくなります
  • バグ 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 に対する正規表現の一致を許可する
  • テーブル ビジュアライザーに開始時刻を追加する
  • HTTP サンプラーは、必要なメディア タイプの埋め込みリソースを抽出できるようになりました

バグの修正:

  • Module Controller でモジュールが選択されていない場合の NPE を修正
  • ResponseData が存在しない場合の XStream の NPE を修正
  • Java 1.5 で実行し、x-jar を使用しない場合は、?xml プレフィックスを削除します。
  • バグ 37117 - setProperty() 関数は "" を返す必要があります。元の設定に戻すオプションを追加
  • CSV出力時間形式を修正
  • バグ 37140 - RegexFunction でエンコーディングをより適切に処理
  • 最初の Cookie だけでなく、すべての Cookie を読み込みます。クラスキャスト例外を修正
  • デフォルトの Cookie パス名を修正 (ページ名を削除)
  • リザルトコードの属性名を修正
  • バグ 36898 - エンコーディングを RegexExtractor に適用する
  • サブ結果、アサーション、レイテンシー、samplerData、responseHeaders、requestHeaders、encoding を保存するためのプロパティを追加します
  • バグ 37705 - 実行が停止した後、同期タイマーが正常に動作するようになりました
  • バグ 37716 - プロキシ リクエストがファイル ポストを正しく処理するようになりました
  • HttpClient Sampler がレイテンシーを節約
  • テスト計画で JavaScript 関数を使用する場合の NPE を修正
  • htmlparser での Base Href 解析を修正
  • バグ 38256 - パスのない Cookie を処理する
  • バグ 38391 - タイマーの遅延を累積するときに long を使用する
  • バグ 38554 - ランダム関数が長い数値を使用するようになりました
  • バグ 35224 - LDAP サンプラーの属性の重複を許可する
  • バグ 38693 - Web サービス サンプラーが https プロトコルを使用できるようになりました
  • バグ 38646 - Regex Extractor がマッチ失敗時に古い変数をクリアするようになりました
  • バグ 38640 - WebService Sampler プーリングを修正
  • バグ 38474 - HTML リンク パーサーがフレーム リンクをたどらない
  • バグ 36430 - カウンターは範囲を広げるために int ではなく long を使用するようになりました
  • バグ 38302 - XPath 関数を修正
  • バグ 38748 - JDBC DataSourceElement がリモート テストで失敗する
  • バグ 38902 - 応答コードに対して不必要に -1 が返される場合がある
  • バグ 38840 - XML アサーションをスレッドセーフにする
  • バグ 38681 - インクルード コントローラーが非 GUI モードで動作するようになりました
  • write(OS,IS) 実装を TCPClientImpl に追加
  • サンプル Result コンバーターは、応答コードを "rc" として保存します。以前は「rs」として保存されていましたが、「rc」で読み取られました。「rc」でも読み取れるようになりました。XSL スタイルシートも「rc」または「rs」のいずれかを受け入れるようになりました
  • 各カウンター インスタンスが独立するようにカウンター関数を修正します (以前は、ユーザーごとのカウンターは関数のインスタンス間で共有されていました)。
  • TestBean の例が機能するように修正する
  • JTidy パーサーを修正して、背景画像のある body タグをスキップしないようにします
  • HtmlParser パーサーを修正して、すべての背景画像をキャッチするようにします
  • Bug 39252 set SoapSampler sample result from XML data
  • バグ 38694 - WebServiceSampler がデータ エンコーディングを正しく設定しない
  • 結果コレクターは、リスナーによって読み取られた入力ファイルを閉じるようになりました
  • バグ 25505 - 最初の HTTP サンプリングが「HTTPS ホスト名が間違っています: 'localhost' にする必要があります」で失敗する
  • バグ 25236 - アサーション結果リスナーからダブル スクロールバーを削除
  • バグ 38234 - グラフ リスナー除算ゼロの問題
  • バグ 38824 - Ignore Status の動作を明確化
  • バグ 38250 - jmeter.properties の「言語」は、zh_CN や zh_TW などの国サフィックスをサポートするようになりました
  • jmeter.properties ファイルは、読み取り後に閉じられるようになりました
  • バグ 39533 - StatCalculator が間違ったアイテムを追加した
  • バグ 39599 - ConcurrentModificationException
  • HTTPSampler2 が Auto および Follow リダイレクトを正しく処理するようになりました
  • バグ 29481 - サブ結果が 2 回カウントされないように、サンプル結果のリロードを修正
  • バグ 30267 - AutoRedirect を適切に処理する
  • バグ 39677 - JMETER_BIN 変数にスペースを許可する
  • Commons HttpClient Cookie の解析と管理を使用します。Cookie の処理に関するさまざまな問題を修正します。
  • バグ 39773 - NTCredentials にはホスト名が必要

その他の変更

  • HTTPClient 3.0 に更新 (2.0 から)
  • コモンズ コレクション 3.1 に更新
  • ツリー ビューでの要求データの書式設定の改善
  • 拡張されたユーザー ドキュメント
  • すべての jar に MANIFEST、NOTICE、および LICENSE を追加
  • htmlparser インターフェイスを別の jarfile に抽出して、パーサーを置き換えることができるようにします
  • 不要になった (または機能している) SQL Config GUI を削除しました。
  • HTTPSampler は、ページが見つからない (404) という警告を記録しなくなりました
  • StringFromFile が __StringFromFile (および _StringFromFile) として呼び出せるようになりました
  • Commons Logging 1.1 に更新

バージョン 2.1.1

新機能:

  • 新しいインクルード コントローラーにより、テスト計画で外部 jmx ファイルを参照できるようになります
  • JUnit テスト クラスを使用するために追加された新しい JUnitSampler
  • 新しい Aggregate Graph リスナーは、集計統計をグラフ化できます
  • プロパティ user.classpath およびテスト計画要素を使用して、追加のクラスパス エントリを提供できます。

バグの修正:

  • AccessLog Sampler と JDBC テスト要素が 2.0 テスト計画から正しく取り込まれました
  • BSF Sampler は、保存されたテスト計画からファイル名とパラメーターを入力するようになりました
  • バグ 36500 - WebServiceSampler で失われたデータをより適切に処理する
  • バグ 35546 - 右クリック メニューにマージを追加
  • バグ 36642 - Summariser が 2.1 で動作しなくなった
  • バグ 36618 - CSV ヘッダー行が保存されたデータと一致しませんでした
  • JMeter は JVM 1.3 で実行されるようになりました (ただし、1.3 ではビルドされません)。

バージョン 2.1

新機能:

  • 新しいテスト スクリプト ファイル形式 - より小さく、よりコンパクトに、より読みやすく
  • 新しいサンプル結果ファイル形式 - より小さく、よりコンパクトに
  • XSchema アサーション
  • XML ツリー表示
  • CSV DataSet 設定項目
  • 新しい JDBC 接続プール構成要素
  • 同期タイマー
  • setProperty 関数
  • エラー時に応答データを保存
  • Ant JMeter XSLT は、オプションで失敗した応答を表示し、内部リンクを持つようになりました
  • JavaScript 変数名の省略を許可する
  • 以下のサンプラーをサンプラー名からサンプルラベルを設定するように変更
  • すべてのテスト要素をグラフィック イメージとしてファイルに保存できます
  • バグ 35026 - Proxy に 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 を回避するために、さまざまなサンプラーを修正します。
  • 秒を使用するように Cookie Manager を修正しました。デバッグを追加
  • バグ 35067 - -t オプションの使用時にファイル名を設定する
  • Proxy で TestElement.* プロパティを UDV に置き換えないでください
  • バグ 35065 - 古い拡張子をファイル セーバーに保存しないでください
  • バグ 25413 - 不必要に再起動ボタンを有効にしないでください
  • バグ 35059 - ランタイム コントローラーが機能しなくなった
  • LDAP 拡張サンプラーによって作成された残りの接続をすべてクリアします
  • バグ 23248 - モジュール コントローラーが保存と再読み込みの間の内容を記憶していなかった
  • 中国語のロケールを修正
  • バグ 29920 - 英語が選択されたときにデフォルトのプロパティが確実に選択されるように、必要に応じてデフォルトのロケールを変更します。
  • Tomcat モニターのキャプションのバグ修正
  • ユーザー定義変数で動作するように Web サービス サンプラーを修正しました
  • LDAP 構成 GUI 要素の画面境界を修正
  • バグ 31184 - JDBC サンプラーでエンコーディングが指定されていることを確認してください
  • TCP サンプラー - 同じ host:port の詳細を持つソケットのみを共有します。マニュアルを修正する
  • JTidy および Html パーサーで埋め込みタグの src 属性を抽出する

バージョン 2.0.3

新機能:

  • XPath アサーションと XPath 関数
  • スイッチコントローラー
  • ForEach Controller が一連のグループをループできるようになりました
  • CSVRead 区切り文字の変更を許可する (jmeter.properties を参照)
  • バグ 33920 - 追加のプロパティ ファイルを許可する
  • バグ 33845 - ホーム ディレクトリの直接オーバーライドを許可する

バグの修正:

  • Regex Extractor のネストされた定数が正しい場所に配置されない バグ 32395
  • 遅延が正常に機能するように、必要に応じて開始時間を現在にリセットします。
  • スケジューラーに欠落している開始/終了時刻は、1970 年ではなく現在であると見なされます
  • バグ 28661 - 304 応答がリスナーに表示されない
  • DOS スクリプトが異なるディスクをより適切に処理するようになりました
  • バグ 32345 - HTTP リライターが HTTP リクエストのデフォルトで動作しない
  • ランタイム例外をキャッチして、1 つのリスナーのエラーが他のリスナーに影響しないようにする
  • バグ 33467 - __threadNum() が数値を間違って抽出する
  • バグ 29186、33299 - 2 番目の引数の「-」の 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/空の値を持つ Cookie を削除する
  • JavaScript 関数のパラメーター数のチェックの改善
  • スレッド グループは、デフォルトで永遠ではなく 1 ループになりました
  • すべての Beanshell アクセスは、単一のクラスを介して行われるようになりました。実行時に BSH jar のみが必要
  • バグ 32464 - jmeter.bat の Direct Draw 設定の文書化
  • バグ 33919 - カウンター フィールドのサイズを大きくする
  • バグ 32252 - ForEach がカウンターを初期化していませんでした

バージョン 2.0.2

新機能:

  • コントローラーながら
  • BeanShell 初期化スクリプト
  • 結果セーバーは、オプションで失敗した結果のみを保存できます
  • HTML として表示には、フレームや画像などをダウンロードしないオプションがあります
  • 複数のツリー要素を一度に有効化/無効化/コピー/貼り付けできるようになりました
  • __split() 関数が追加されました
  • バグ 28699により、アサーションが失敗した応答 (例: 404) を成功と見なすことができます
  • バグ 29075 Regex Extractor は、本文だけでなく HTTP 応答ヘッダーからもデータを抽出できるようになりました
  • __log() 関数が stdout および stderr に書き込めるようになりました
  • URL 修飾子は、オプションでクエリ パラメータを無視できるようになりました

バグの修正:

  • コントローラーが最初の false 条件の後に機能する場合 Bug 31390
  • Regex GUI が Header/Body チェックボックスを追跡 できなかった Bug 29853
  • HTML として表示 フレームと相対イメージを処理するようになりました
  • マージに置き換えて右クリックで開く
  • ドラッグ アンド ドロップの問題を修正
  • 動作するように foreach デモの例を修正しました
  • バグ 30741 SSL パスワードプロンプトが再び機能するようになりました
  • StringFromFile は、テストの最後にファイルを閉じるようになりました。start と end は意図したとおりにオプションになりました
  • Bug 31342 SOAP Sampler ヘッダーのテキストを修正
  • 削除する前にプロキシを停止する必要がある バグ 25145
  • Link Parser が BASE href Bug 25490をサポートするようになりました
  • バグ 30917 Classfinder が重複した名前を無視する
  • バグ 22820カウンター値をクリアできるようにする
  • バグ 28230埋め込まれたリソースを取得する HTTP サンプラーの NPE を修正
  • StopTest の処理を​​改善します。さらにいくつかのエラーをキャッチしてログに記録する
  • 最初の変数が定義されていない場合、ForEach コントローラーはサンプルを実行しなくなりました
  • バグ 28663リモート JDBC 実行での NPE
  • バグ 30110 stopTest 処理でのデッドロック
  • バグ 31696スケジューラーの使用時に期間が正しく機能しない
  • JMeterContext が ThreadLocal を使用するようになりました - いくつかの潜在的な NPE エラーを修正する必要があります

バージョン 2.0.1

バグ修正リリース。未定。

バージョン 2.0

  • HTML 解析が改善されました。3 つのパーサーを選択できるようになり、ほとんどの埋め込み要素を検出してダウンロードできるようになりました。
  • JMeter プロパティ HTTPSamper.delegateRedirects=true (デフォルトは false) を定義することで、リダイレクトを URLConnection に委任できるようになりました。
  • サンプルの処理後にテストのスレッドを停止する必要があるエラーを検出した場合、サンプラーは setStopThread(true) または setStopTest(true) を呼び出すことができます。
  • スレッド グループ GUI には、サンプラー エラーの後に何が起こるかを指定する追加のペインが追加されました: 続行 (現在と同様)、スレッドの停止、またはテストの停止。これは、ある段階でより低いレベルに拡張する必要があります。
  • 実行メニューにシャットダウンを追加しました。これは、スレッドを正常に終了させることを除いて (つまり、次のサンプルが完了した後)、Stop と同じです。
  • サーバーの実行時にプロパティ hold_samples=true を定義することにより、テストが終了するまでリモート サンプルをキャッシュできます。GUI からこれを制御できるようにするには、さらに作業が必要です。
  • プロキシ サーバーには、ブラウザ ヘッダーの記録をスキップするオプションがあります
  • プロキシの再起動がうまく機能します (停止はデーモンの終了を待ちます)
  • すでに経過している場合、スケジューラは開始を無視します
  • スケジューラーに遅延機能が追加されました
  • Summariser テスト要素 (主に非 GUI 用) のテストを追加しました。これにより、要約統計が System.out および/またはログ ファイルに頻繁に出力されます (デフォルトでは 3 分)。複数のサマライザーを使用できます。サンプルはサマライザー名ごとに蓄積されます。
  • 追加のプロキシ サーバー オプション: キープアライブを無効にしてすべてのサンプラーを作成する サンプルのセット間に区切りマーカーを追加する 各セットの最初のサンプラーに応答アサーションを追加する
  • テスト計画にはコメント フィールドがあります
  • ヘルプ ページをバックグラウンドにプッシュできるようになりました
  • セパレート機能ヘルプページ
  • 新規・修正機能
    • __property() および __P() 関数
    • __log() および __logn() - ログファイルへの書き込み用
    • _StringFromFile は、dir/file01.txt、dir/file02.txt などの一連のファイルを処理できるようになりました。
    • _StringFromFile() 関数は、ファイル名に変数または関数を使用できるようになりました
  • 新しい/修正されたアサーション
    • 応答アサーションが URL に対して機能するようになり、null データの処理が改善されました
    • 応答アサーションは、応答コードと応答メッセージでも一致できるようになりました
    • JTidy を使用して整形式の HTML をチェックする HTML アサーション
  • If Controller (まだ完全には機能していません)
  • トランザクション コントローラー (その子の時間を集計します)
  • 新しいサンプラー
    • 基本的な BSF サンプラー (オプション)
    • BeanShell Sampler (オプション、www.beanshell.org からダウンロードする必要があります)
    • 基本的な TCP サンプラー
  • オプションで BeanShell サーバーを起動します (JMeter 変数およびメソッドへのリモート アクセスを許可します)

バージョン 1.9.1

未定

バージョン 1.9

  • サンプルの結果ログ ファイルを CSV または XML 形式にできるようになりました
  • テスト計画の実行中に反復イベントを通知するための新しいイベント モデル
  • 任意の JavaScript ステートメントを実行するための新しい Javascript 関数
  • 多くの GUI の改善
  • 新しいプリプロセッサとポストプロセッサは、修飾子と応答ベースの修飾子を置き換えます。
  • jdk1.3に対応
  • JMeter 関数は完全に再帰的でユニバーサルになりました (関数を関数のパラメーターとして使用できます)。
  • 統合されたヘルプ ウィンドウがハイパーテキスト リンクをサポートするようになりました
  • 新しいランダム関数
  • 新しい XML アサーション
  • 新しい LDAP サンプラー (アルファ コード)
  • JMeter を実行する新しい Ant タスク (extras フォルダー内)
  • 新しい Java Sampler テストの実装 (開発者を支援するため)
  • メモリのより効率的な使用、.jmx ファイルの読み込みの高速化
  • 新しい SOAP サンプラー (アルファ コード)
  • グラフ結果ビジュアライザーの新しい中央値計算
  • 開発者の利益のために追加されたデフォルトの構成要素
  • テスト実行中のさまざまなパフォーマンスの強化
  • テスト実行中の GUI オーバーヘッドを最小限に抑えるための新しいシンプル ファイル レコーダー
  • 新しい関数: StringFromFile - ファイルから値を取得します
  • 新機能: CSVRead - ファイルから複数の値を取得
  • 関数をエンコードする必要がなくなりました - 特別な値がリテラル値である場合は、「\」でエスケープする必要があります
  • 新しいカット/コピー/ペースト機能
  • SSL テストは、ユーザーの混乱を減らし、非 GUI モードで動作する必要があります。
  • メーラー モデルは非 GUI モードで動作します
  • 新しいスループット コントローラー
  • 新しいモジュール コントローラ
  • 特定の時刻から特定の時刻まで実行するようにテストをスケジュールできるようになりました
  • リモート JMeter サーバーは、非 GUI クライアントから起動できます。また、GUIモードでは、すべてのリモートサーバーをワンクリックで起動できます
  • ThreadGroups を順次または並列で実行できるようになりました (デフォルト)
  • プロパティをオーバーライドする新しいコマンド ライン オプション
  • 新しいサイズ アサーション

バージョン 1.8.1

  • バグ修正リリース。多くのバグが修正されました。
  • テスト ツリーから冗長な「ルート」ノードを削除しました。
  • テスト ツリーにアイコンを再導入しました。
  • ビルド プロセスを改善するためのコードの再編成。
  • 結果ツリーの表示に、結果を Web ドキュメントとして表示するオプションが追加されました (この時点ではまだバグがあります)。
  • Aggregate Listener の新しい Total 行 (この時点ではまだバグがあります)。
  • JMeter のロケール設定を変更する機能が改善されました。
  • SSL マネージャーの改善。

バージョン 1.8

  • 集計レポートの計算の改善。
  • アプリケーションのロギングの簡素化。
  • 新しい期間アサーション。
  • Mailer Visualizer を修正および改善しました。
  • HTTP Sampler のリソース (ソケットとファイル ハンドル) の回復が改善されました。
  • JMeter のテスト開始/停止の内部処理を改善します。
  • Interleave および Random Controller の動作の修正とオプションの追加。
  • 新しい Counter 構成要素。
  • 新しいユーザー パラメータ構成要素。
  • ファイル オープナーのパフォーマンスが向上しました。
  • 関数およびその他の要素は、グローバル変数にアクセスできます。
  • 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 リクエストは、Path フィールドに GET スタイルの引数を持つことができます。プロキシはそれらを正しく記録するようになりました。
  • 新しいユーザー定義のテスト全体の静的変数。
  • 結果ツリーを表示すると、リクエストの名前 (テスト ツリーの名前と一致) や完全なリクエストおよび POST データなど、より多くの情報が表示されるようになりました。
  • 古い View Results Visualizer を削除しました (代わりに View Results Tree を使用してください)。
  • パフォーマンスの強化。
  • メモリ使用の強化。
  • グラフ ビジュアライザー GUI の改善。
  • Mailer Visualizer の更新と修正。

バージョン 1.7.2

  • JMeter は、テストの実行が停止したときにユーザーに通知するようになりました。
  • HTTP プロキシ サーバーは、リダイレクトをオフにして HTTP 要求を記録します。
  • HTTP リクエストは、リダイレクトに従うか無視するかを指示できます。
  • さまざまな GUI の改善。
  • 新しいランダム コントローラー。
  • 新しい SOAP/XML-RPC サンプラー。

バージョン 1.7.1

  • JMeter のアーキテクチャは、GUI コードとテスト エンジン コードをより完全に分離するために刷新されました。
  • Avalonコードを使用してテスト計画を構成オブジェクトとしてXMLに保存
  • すべてのリスナーは、データをファイルに保存し、後日同じデータをロードできます。

バージョン 1.7ベータ

  • 特殊文字に対する XML サポートの改善 (Tushar Bhatia)
  • 非 GUI 機能と非 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

  • テスト スクリプトの保存と読み込みを修正しました (余分な行はありません)。
  • 特殊文字 (「&」や「<」など) を保存およびロードできます。
  • タイマーとリスナーを保存およびロードできます。
  • Cookie のマイナーなバグ修正 (Cookie の値に「=」が含まれていると壊れてしまう)。
  • 必要な jar (JSSE) があれば、URL は 80 以外のポートをサンプリングし、HTTPS をテストできます。

バージョン 1.6 アルファ

  • 新しい UI
  • GUI とロジック コードの分離
  • 新しいモジュール用の新しいプラグイン フレームワーク
  • 強化されたパフォーマンス
  • 柔軟性を高めるためのテスト ロジックの階層化
  • テスト要素の保存のサポートを追加
  • 単一のクライアントを使用した分散テストのサポートを追加

バージョン 1.5.1

  • ヘッダー名の大文字と小文字が正しくない場合、Cookie が読み取られないバグを修正しました。
  • サンプラーに送信する前にエントリを複製します - 再配置によってスレッド間で情報が混乱するのを防ぎます
  • テスト サンプルにパラメーターを追加するための便利なダイアログのマイナーなバグ修正。バグにより、ダイアログのエントリがテスト サンプルに表示されませんでした。
  • xerces.jar をディストリビューションに追加
  • junit.jar をディストリビューションに追加し、いくつかのテストを作成しました。
  • 新しいフレームワークの作業を開始しました。cvs の新しいファイルですが、プログラムにはまだ影響しません。
  • 選択したタイマーに従って HTTPJMeterThread が遅延するのを防ぐバグを修正しました。

バージョン 1.5

  • Sampler、SamplerController、および TestSample の概念を抽象化しました。サンプラーは、プロトコル (HTTP、FTP、RMI、SMTP など) を理解するコードを表します。テストされているものに実際に接続するのはコードです。SamplerController は、テスト サンプルのグループを整理して実行する方法を理解するコードを表します。これは、Sampler とそのテスト サンプルを結合して実行するものです。TestSample は、特定のテストに関する情報をユーザーから収集する方法を理解するコードを表します。Web サイトの場合、URL と、URL とともに送信される情報を表します。
  • UI が更新され、テスト サンプルの入力がより便利になりました。
  • スレッド グループが追加され、ユーザーは複数のテストを同時に実行するように設定し、それらのテスト間でテスト サンプルを共有できるようになりました。
  • テストサンプルの保存と読み込みが可能になりました。
  • …そして、さらに多くのマイナーな変更/改善…

アパッチ JMeter 1.4.1-dev

  • 読みやすくするために、大量のパッチの後に URLSampler コードをクリーンアップしました。(SM)
  • JMeter が特別な「ユーザー エージェント」識別子を送信するようにしました。(SM)
  • リダイレクトが Cookie と認証情報を送信しない問題を修正し、jikes コンパイルに関する警告を削除しました。パッチを提供してくれた Wesley Tanaka に感謝 (SM)
  • URL のリストをテストするときに 1 つの URL をスキップする原因となった URLSampler のバグと、Cookie の処理に関する問題を修正しました。パッチを提供してくれた Graham Johnson に感謝 (SM)
  • POST アクションの問題を修正しました。パッチを提供してくれた Stephen Schaub に感謝 (SM)

Apache JMeter 1.4 - 1999 年 7 月 11 日

  • POST アクションの問題を修正しました。パッチを提供してくれた Brendan Burns に感謝 (SM)
  • 閉じるボタンを提供していないウィンドウ マネージャーのために、[About] ボックスに [閉じる] ボタンを追加しました。指摘してくれた Jan-Henrik Haukeland に感謝します。(SM)
  • シンプルなスプライン サンプル ビジュアライザー (JPN) を追加

Apache JMeter 1.3 - 1999 年 4 月 16 日

  • ガベージ コレクターを実行し、サンプリングを開始する前にファイナライズを実行して、毎回同じ状態を確保します (SM)
  • あちこちの NullPointerExceptions を修正しました (SM)
  • 追加された HTTP 認証機能 (RL)
  • ウィンドウ化されたサンプル ビジュアライザー (SM) を追加
  • コマンド ライン引数のばかげたバグを修正しました。これを指摘してくれたホルヘ・ブレイサーに感謝します (SM)

Apache JMeter 1.2 - 1999 年 3 月 17 日

  • JMeter (SM) と統合された Cookie 機能
  • Cookie マネージャーと 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 makefile (SD) を追加

Apache JMeter 1.0.1 - 1999 年 1 月 25 日

  • 保留中の問題ドキュメントの問題を削除 (SM)
  • UNIX スクリプト (SM) を修正しました。
  • Java 2 (SM) で「java -jar ApacheJMeter.jar」を使用して JAR を直接実行する可能性が追加されました。
  • いくつかの小さな更新: Java 2(tm) リリース後の Swing の場所の修正、ライセンスの更新、小規模なクリーンアップ (SM)

Apache JMeter 1.0 - 1998 年 12 月 15 日

  • 初期バージョン。(SM)

Go to top