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