3. 設定エレメント
- 3.1. 設定エレメントとは
- 3.2. HTTPリクエスト初期設定
- 3.3. HTTP認証マネージャ
- 3.4. HTTPヘッダマネージャ
- 3.5. HTTPクッキーマネージャ
- 3.6. その他の設定エレメント
3.1. 設定エレメントとは
これまでの章では、単純なHTTPリクエストを扱ってきました。しかし、実際のWebアプリケーションのテストでは、テストしようとするページにHTTPのBasic認証がかかっていたり、クッキーを使用したりしています。このような場合、これまでのようなやり方ではテストできません。
設定エレメントとは、リクエストにかかわる様々な項目を設定するものです。設定エレメントも複数の種類がありますが、どの設定エレメントも、これまで説明してきたものと同じ方法で追加することができます。つまり、『スレッドグループ』か『HTTPリクエスト』を右クリックするか、選択した後「編集」メニューで追加 → 設定エレメントと選択し、付け加えたい設定エレメントを選択すれば付け加えることができます。
なお、設定エレメントを『スレッドグループ』に付け加えるか、あるいは『HTTPリクエスト』等に付け加えるかによって、その設定エレメントの影響の範囲が異なります。
以下が、『HTTPリクエスト』に『HTTP認証マネージャ』という設定エレメントをつけた例です。この場合、設定エレメントの設定が適用されるのは、『リクエストA』のみです。『リクエストB』には、設定エレメントの設定は適用されません。
次に、以下が『スレッドグループ』に『HTTP認証マネージャ』という設定エレメントをつけた例です。この場合は、『スレッドグループ』以下の全てのサンプラー(この例では、『リクエストA』と『リクエストB』)に、設定エレメントの設定が適用されます。
それでは、これから、代表的な設定エレメントについて、その働きを見ていきましょう。
3.2. HTTPリクエスト初期設定
Webアプリケーションの負荷テストでは、しばしば、異なる複数のページに対して負荷テストを行いたいことがあります。『スレッドグループ』にテストを行いたいページの数だけ『HTTPリクエスト』を追加すれば、このようなテストを行うことができます。しかし、その場合、各『HTTPリクエスト』の「サーバ名またはIP」や「ポート番号」といった設定項目に、何度も同じ値を記入しなければなりません。これは、テストを行いたいページが増えれば増えるほど、負担の大きい作業となります。
そこで、『HTTPリクエスト初期設定』という設定エレメントを使用します。この設定エレメントは、テスト対象となるサーバ等を指定するもので、「プロトコル」「サーバ名またはIP」「ポート番号」といった設定項目があります。『HTTPリクエスト初期設定』で設定した項目は『HTTPリクエスト』に対してあらかじめ適用されますので、個別の『HTTPリクエスト』に再度設定する必要はありません。したがって、同一サーバの複数のページへ同時にテストを行うような場合、その設定の手間を大きく省くことができます。
たとえば、上記のような設定にした場合、『HTTPリクエスト初期設定』が適用されるすべての『HTTPリクエスト』について、「サーバ名またはIP」「プロトコル」「ポート番号」を設定せずに空白のままにしておいても、上記の設定がなされているものとみなされます。
3.3. HTTP認証マネージャ
Webアプリケーションでは、特定のユーザにのみ利用を許すために、HTTPのBasic認証をかけていることがままあります。そういった場合、通常の『HTTPリクエスト』のみを使用したテストでは、Basic認証に失敗してしまうので、正しいテストを行うことができません。
このような場合には、『HTTP認証マネージャ』を使用します。まず、『HTTP認証マネージャ』を『スレッドグループ』か『HTTPリクエスト』に付け加えます。次に、今追加した左フレームの『HTTP認証マネージャ』を選択すると、右フレームに『HTTP認証マネージャ』の設定画面が表示されます。ここで設定画面下部にある「追加」ボタンを押すと、設定画面中央の表に、全てが空欄の1列が付け加えられますので、この1列の各項目「Base URL」「ユーザ名」「パスワード」に正しい値を入力してください。入力した値が正しければ、HTTPのBasic認証をすることができます。
例えば、http://www.usouso.co.jp/admin/にHTTPのBasic認証がかけられているとします。また、その認証IDとパスワードがそれぞれ"administrator"と"admpass"だとします。その場合は、以下のように設定すれば、HTTPのBasic認証をパスすることができます。(「パスワード」の部分は自動的に伏字になります)
以下が、『HTTP認証マネージャ』を使用して負荷テストを行った例です。『リクエストA』『リクエストB』ともに、Basic認証がかけられた同一のページへリクエストするように設定しています。なお、『HTTP認証マネージャ』は、『リクエストB』にのみ付け加えています。
上の図を見てのとおり、『HTTP認証マネージャ』を付け加えた『リクエストB』だけが成功していることが分かります。