シナリオ作成方法

静的コンテンツのシナリオ作成

2016/10/09

JMeterのインストールが完了したら、テストシナリオを作成していきます。

テストシナリオは、プロキシサーバを利用して簡単に作成することができます。実行するテストのシナリオが静的コンテンツの場合を想定して説明していきます。

なお、ここで説明している「静的コンテンツ」とは、URLが決まれば表示されるページが決まるものという意図で説明しています。例えば、WordPressはphpで動作している動的なコンテンツですが、ブログなど簡単なものであればURLと表示ページは一致しているため、静的コンテンツと表現しています。ユーザの入力やログインなどがあるECサイト等は動的コンテンツとして別途説明します。

テストシナリオ作成方法

  1. 記録コントローラ作成
  2. HTTPプロキシサーバ作成
  3. HTTPプロキシサーバの設定
  4. プロキシサーバ開始
  5. シナリオ遷移
  6. 微調整
  7. 動作確認

テストシナリオ作成詳細

記録コントローラ作成

ワークベンチの下に「記録コントローラ」を作成します。記録コントローラの下にプロキシ経由でアクセスしたシナリオが記録されていきます。

  • ワークベンチ->追加->ロジックコントローラ->記録コントローラ

の手順で作成可能です。

記録コントローラを作成する

記録コントローラを作成する

HTTPプロキシサーバ作成

  • ワークベンチ->追加->Non-TESTエレメント->HTTPプロキシサーバ

の手順で作成します。

HTTPプロキシサーバの作成

HTTPプロキシサーバの作成

HTTPプロキシサーバの設定

記録コントローラの指定

「TestPlanContent->対象となるコントローラ」に先ほど作成した記録コントローラを指定します。

記録コントローラを指定

記録コントローラを指定

除外するパターンに取得不要なURLを記載します

シナリオには、.htmlや.phpなど、text/htmlを取得するリクエストのみを記載していきます。そのために、jsやcssなどは取得除外する設定を入れていきます。

除外するパターン

除外するパターン

除外するものは、主に次のような内容になるので、手入力が面倒であれば、下の内容をコピペすることも可能です。

挿入するパターンに取得したいドメイン名を記載します

除外するパターンだけでは、シナリオから除外できないものがあります。外部サイトとの接続です。負荷テストは自分が管理しているサイトに対して実行します。不用意に他者が管理しているサイトに負荷をかけてしまうと罰せられる可能性もあります。外部サイトへの接続を記録しないように、自社サイトのドメインを入力しておきましょう。

挿入するパターン

挿入するパターン

記載は、対象ドメインが含まれていたら挿入する形でいいと思います。

プロキシサーバ開始

プロキシサーバの開始

JMeterのプロキシサーバの開始を行います。

JMeterのプロキシサーバを開始

JMeterのプロキシサーバを開始

プロキシの開始

プロキシを利用するように設定変更を行います。

MicroSoftEdgeの場合、設定->詳細設定->プロキシのセットアップから選択することが可能です。

このとき、設定する値は次のように行います。

  • アドレス:127.0.0.1
  • ポート:8888(JMeterと合わせる)
プロキシサーバを利用(Edgeの場合)

プロキシサーバを利用(Edgeの場合)

シナリオ遷移

プロキシサーバが開始されたら、お気に入りのブラウザでシナリオと同様の遷移を行います。

遷移すると、記録コントローラにシナリオが記録されていきます。

シナリオが記録される

シナリオが記録される

記録が終了したら、プロキシを停止させ、プロキシの利用をしないように戻します。

微調整

次のことを調整していきます。

動作確認

スレッドグループ作成

「テスト計画->追加->Threads(Users)->スレッドグループ」からスレッドグループを作成します。

作成したスレッドグループ配下に、先ほど記録コントローラに記録されたシナリオを移動させます。このとき、各アクセスの名前もわかりやすいものに変更しておきましょう。

シナリオをスレッドグループに移動

シナリオをスレッドグループに移動

リスナーを設定

「スレッドグループ->追加->リスナー->結果をツリーで表示」から「結果をツリーで表示」のリスナーを作成します。同じ要領で「統計レポート」についても作成しておきます。

リスナーの作成

リスナーの作成

テスト実行

画面上部にある緑の三角のボタンからテスト実行を行います。

テスト実行

テスト実行

リスナーにエラーが表示されずに正常終了していれば静的コンテンツのシナリオ完成です。

-シナリオ作成方法