Jmeter-test-plan-elements
jMeter-テスト計画要素
JMeterテスト計画は、以下で説明するテスト要素で構成されます。 テスト計画は、少なくとも1つのスレッドグループで構成されます。 各スレッドグループ内には、サンプラー、ロジックコントローラー、構成要素、リスナー、タイマーなど、1つ以上の他の要素の組み合わせを配置できます。 各サンプラーの前に1つ以上のプリプロセッサー要素を配置し、その後にポストプロセッサー要素やアサーション要素を配置できます。 これらの各要素を詳細に見てみましょう-
スレッドグループ
スレッドグループ要素は、テスト計画の開始点です。 名前が示すように、スレッドグループ要素は、JMeterがテスト中に使用するスレッドの数を制御します。 また、スレッドグループを介して以下を制御することができます-
- スレッド数の設定
- 立ち上げ時間の設定
- テストの反復回数の設定
スレッドグループコントロールパネルはこのように見えます-
スレッドグループパネルは、次のコンポーネントを保持しています-
- サンプラーエラーの後に実行するアクション-テストの実行中にエラーが発生した場合、テストを次のいずれかにすることができます-
- テストの次の要素に進む
- *スレッドの停止*現在のスレッドを停止します。
- 実行を継続する前にエラーを検査する場合は、*テスト*を完全に停止します。
- スレッドの数-ユーザーまたはサーバーアプリケーションへの接続の数をシミュレートします。
- ランプアップ期間 JMeterがすべてのスレッドを実行するのにかかる時間を定義します。
- ループカウント-テストを実行する回数を定義します。
- スケジューラーチェックボックス-選択すると、コントロールパネルの下部にスケジューラー構成セクションが表示されます。
- スケジューラの設定-テストの実行の開始時間と終了時間を設定できます。
コントローラー
JMeterには、_Samplers_と_Logic Controllers_の2種類のコントローラーがあります。
サンプラー
サンプラーにより、JMeterは特定のタイプのリクエストをサーバーに送信できます。 ターゲットサーバーからのページに対するユーザーリクエストをシミュレートします。 たとえば、HTTPサービスでPOST、GET、またはDELETEを実行する必要がある場合、HTTP要求サンプラーを追加できます。
いくつかの有用なサンプラーは-
- HTTPリクエスト
- FTPリクエスト
- JDBCリクエスト
- Javaリクエスト
- SOAP/XMLリクエスト
- RPCリクエスト
次のスクリーンショットは、HTTPリクエストサンプラーコントロールパネルを示しています-
ロジックコントローラー
ロジックコントローラーを使用すると、スレッド内のサンプラーの処理順序を制御できます。 ロジックコントローラーは、子要素からの要求の順序を変更できます。 いくつかの例は次のとおりです-ForEachコントローラ、Whileコントローラ、ループコントローラ、IFコントローラ、ランタイムコントローラ、インターリーブコントローラ、スループットコントローラ、およびRun Onceコントローラ。
次のスクリーンショットは、ループコントローラーのコントロールパネルを示しています-
次のリストは、JMeterが提供するすべてのロジックコントローラで構成されています-
- シンプルなコントローラー
- ループコントローラー
- 一度だけのコントローラー
- インターリーブコントローラー
- ランダムコントローラー
- ランダムオーダーコントローラー
- スループットコントローラー
- ランタイムコントローラー
- コントローラの場合
- コントローラー
- スイッチコントローラー
- ForEachコントローラー
- モジュールコントローラー
- コントローラーを含める
- トランザクションコントローラー
- 録音コントローラー
テストフラグメント
テストフラグメントは、スレッドグループ要素と同じレベルに配置される特別なタイプの要素です。 モジュールコントローラーまたはInclude_Controllerによって参照されない限り実行されないという点で、スレッドグループとは区別されます。 この要素は、純粋にテスト計画内でコードを再利用するためのものです。
リスナー
リスナーを使用すると、サンプラーの結果を表、グラフ、ツリー、またはいくつかのログファイルの単純なテキストの形式で表示できます。 JMeterのSamplerコンポーネントが実行されると、JMeterがテストケースについて収集したデータに視覚的にアクセスできます。
リスナーは、テスト計画の直下を含む、テストの任意の場所に追加できます。 彼らは、そのレベル以下の要素からのみデータを収集します。 次のリストは、JMeterが提供するすべてのリスナーで構成されています-
- サンプル結果保存設定
- グラフの完全な結果
- グラフ結果
- スプラインビジュアライザー
- アサーション結果
- 結果ツリーを表示
- 集計レポート
- 結果を表で見る
- シンプルデータライター
- 結果を監視する
- 分布グラフ(アルファ)
- 集計グラフ
- メーラービジュアライザー
- BeanShellリスナー
- 概略報告
タイマー
デフォルトでは、JMeterスレッドは各サンプラー間で一時停止せずにリクエストを送信します。 これはあなたが望むものではないかもしれません。 タイマー要素を追加して、各リクエスト間で待機する期間を定義できます。
次のリストは、JMeterが提供するすべてのタイマーを示しています-
- 常時タイマー
- ガウスランダムタイマー
- 均一ランダムタイマー
- 一定スループットタイマー
- 同期タイマー
- JSR223時間
- BeanShell Time
- BSF時間
- ポアソンランダム時間
次のスクリーンショットは、コンスタントタイマーコントロールパネルを示しています-
アサーション
アサーションを使用すると、サンプラーを使用して行われた要求の応答に検証テストを含めることができます。 アサーションを使用すると、アプリケーションが正しいデータを返していることを証明できます。 JMeterは、アサーションが失敗すると強調表示します。
次のリストは、JMeterが提供するすべてのアサーションで構成されています-
- Beanshellアサーション
- BSFアサーション
- アサーションの比較
- JSR223アサーション
- 応答アサーション
- 期間アサーション
- サイズアサーション
- XMLアサーション
- BeanShellアサーション
- MD5Hexアサーション
- HTMLアサーション
- XPathアサーション
- XMLスキーマアサーション
次のスクリーンショットは、応答アサーションコントロールパネルを示しています-
構成要素
構成要素を使用すると、サンプラーが使用するデフォルトと変数を作成できます。 これらは、サンプラーによって行われた要求を追加または変更するために使用されます。
これらは、同じスコープ内にあるサンプラーの前に、それらが属するスコープの開始時に実行されます。 したがって、構成要素は、配置されているブランチ内からのみアクセスされます。
次のリストは、JMeterが提供するすべての構成要素で構成されています-
- カウンタ
- CSVデータセットの構成
- FTP要求のデフォルト
- HTTP認証マネージャー
- HTTPキャッシュマネージャー
- HTTP Cookie Manager
- HTTPプロキシサーバー
- HTTPリクエストのデフォルト
- HTTPヘッダーマネージャー
- Javaリクエストのデフォルト
- キーストアの構成
- JDBC接続の構成
- ログイン構成要素
- LDAP要求のデフォルト
- LDAP拡張リクエストのデフォルト
- TCPサンプラー構成
- ユーザー定義変数
- 単純な構成要素
- ランダム変数
プリプロセッサ要素
プリプロセッサ要素は、サンプラーが実行される直前に実行されるものです。 多くの場合、サンプル要求の実行直前に設定を変更したり、応答テキストから抽出されていない変数を更新したりするために使用されます。
次のリストは、JMeterが提供するすべてのプリプロセッサ要素で構成されています-
- HTMLリンクパーサー
- HTTP URL書き換え修飾子
- HTTPユーザーパラメータ修飾子
- ユーザーパラメータ
- JDBCプリプロセッサ
- JSR223プリプロセッサ
- RegExユーザーパラメーター
- BeanShellプリプロセッサ
- BSFプリプロセッサ
ポストプロセッサ要素
サンプラーの実行が終了すると、ポストプロセッサーが実行されます。 この要素は、たとえば、後で使用するために特定の値を取得するなど、応答データを処理するために最もよく使用されます。
次のリストは、JMeterが提供するすべてのポストプロセッサ要素で構成されています-
- 正規表現エクストラクター
- XPath Extractor
- 結果ステータスアクションハンドラー
- JSR223ポストプロセッサ
- JDBC PostProcessor
- BSFポストプロセッサ
- CSS/JQuery Extractor
- BeanShellポストプロセッサ
- ポストプロセッサーのデバッグ
テスト要素の実行順序
以下は、テスト計画要素の実行順序です-
- 構成要素
- プリプロセッサ
- タイマー
- サンプラー
- ポストプロセッサ(SampleResultがnullでない場合)
- アサーション(SampleResultがnullでない場合)
- リスナー(SampleResultがnullでない場合)