方法 : 要求レベルのプラグインを作成する
要求は、Web パフォーマンス テストを構成する宣言ステートメントです。Web パフォーマンス テスト プラグインを使用すると、Web パフォーマンス テストの主要な宣言ステートメントとコードを分離し、そのコードを再利用できます。プラグインを作成し、要求を含む Web パフォーマンス テストに追加するのと同じように、個々の要求にも追加できます。カスタマイズされた要求プラグインを使用すると、Web パフォーマンス テスト中の特定の要求の実行時にコードを呼び出すことができます。
すべての Web パフォーマンス テスト要求プラグインには、PreRequest メソッドと PostRequest メソッドがあります。要求プラグインを特定の HTTP 要求にアタッチすると、その要求の発行前に PreRequest イベントが発生し、応答の受信後に PostRequest が起動します。
カスタマイズされた Web パフォーマンス テスト要求プラグインは、WebTestRequestPlugin 基本クラスから独自のクラスを派生することによって作成できます。
カスタマイズされた Web パフォーマンス テスト要求プラグインは、記録した Web パフォーマンス テストで使用できます。カスタマイズした Web パフォーマンス テスト要求プラグインを使用すると、最小限のコードを記述するだけで、Web パフォーマンス テストをより高度に制御できるようになります。ただし、コード化された Web パフォーマンス テストでそれらを使用することもできます。詳細については、「方法: コード化された Web パフォーマンス テストを作成する」を参照してください。
要件
- Visual Studio Ultimate
要求レベルのプラグインを作成するには
ソリューション エクスプローラーで、ソリューションを右クリックします。選択 [追加] は、[新しいプロジェクト] を選択します。
[新しいプロジェクトの追加] ダイアログ ボックスが表示されます。
[インストールされているテンプレート] の [Visual C#] を選択します。
テンプレートの一覧で、[クラス ライブラリ] を選択します。
[名前] テキスト ボックスにクラスの名前を入力し、[OK] を選択します。
新しいクラス ライブラリ プロジェクトがソリューション エクスプローラーに追加され、新しいクラスがコード エディターに表示されます。
ソリューション エクスプローラーで、新しいクラス ライブラリの [参照設定] フォルダーを右クリックし、[参照の追加] を選択します。
[参照の追加] ダイアログ ボックスが表示されます。
[.NET] タブをクリックし、を [Microsoft.VisualStudio.QualityTools.WebTestFramework] スクロール ダウンし、を [OK] を選択します。
Microsoft.VisualStudio.QualityTools.WebTestFramework への参照がソリューション エクスプローラーの [参照設定] フォルダーに追加されます。
ソリューション エクスプローラーで、Web パフォーマンス テスト要求のテスト プラグインの追加先であるロード テストを含んでいる Web パフォーマンス テストおよびロード テスト プロジェクトの最上位ノードを右クリックします。[参照の追加] をクリックします。
[参照の追加] ダイアログ ボックスが表示されます。
[プロジェクト] タブをクリックし、[クラス ライブラリ プロジェクト] を選択し、を [OK] を選択します。
コード エディターで、プラグインのコードを記述します。まず、WebTestRequestPlugin クラスから派生する新しいパブリック クラスを作成します。
PreRequest イベント ハンドラーと PostRequest イベント ハンドラーのいずれかまたは両方にコードを実装します。実装のサンプルについては、次の例を参照してください。
このコードを記述した後で、新しいプロジェクトをビルドします。
要求プラグインを追加する Web パフォーマンス テストを開きます。
要求プラグインを追加する要求を右クリックし、[要求プラグインの追加] をクリックします。
[Web テスト要求プラグインの追加] ダイアログ ボックスが表示されます。
[プラグインの選択] で、新しいプラグインを選択します。
[選択したプラグインのプロパティ] ペインで、実行時に使用するプラグインの初期値を設定します。
[!メモ]
プラグインのプロパティをパブリック、設定可能、および基本型 (整数型、ブール型、文字列型など) として設定して、任意の数だけ公開できます。Web パフォーマンス テスト プラグインのプロパティは、後で [プロパティ] ウィンドウを使用して変更することもできます。
[OK] をクリックします。
プラグインは、HTTP 要求の子フォルダーである [要求プラグイン] フォルダーに追加されます。
注意 プラグインを使用する Web パフォーマンス テストまたはロード テストを実行すると、次のようなエラー メッセージが表示されることがあります。
Request failed: Exception in <plug-in> event: Could not load file or assembly '<"Plug-in name".dll file>, Version=<n.n.n.n>, Culture=neutral, PublicKeyToken=null' or one of its dependencies.The system cannot find the file specified.
この問題が発生するのは、いずれかのプラグインのコードを変更して、新しい DLL バージョン (Version=0.0.0.0) を作成したのに、プラグインが元のプラグイン バージョンを参照したままになっている場合です。この問題を解決するには、次の手順を実行します。
Web パフォーマンス テストおよびロード テスト プロジェクトで、参照に関する警告が表示されます。プラグイン DLL への参照を削除し、再度追加します。
プラグインをテストまたは該当する場所から削除し、その後、追加し直します。
使用例
次のコードを使用して、2 つのダイアログ ボックスを表示するカスタマイズされた Web パフォーマンス テスト プラグインを作成できます。1 つのダイアログ ボックスには、要求アドインにアタッチする要求に関連付けられている URL が表示されます。もう 1 つのダイアログ ボックスには、エージェントのコンピューター名が表示されます。
[!メモ]
次のコードでは、System.Windows.Forms への参照を追加する必要があります。
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace RequestPluginNamespace
{
public class MyWebRequestPlugin : WebTestRequestPlugin
{
public override void PostRequest(object sender, PostRequestEventArgs e)
{
MessageBox.Show(e.WebTest.Context.AgentName);
}
public override void PreRequest(object sender, PreRequestEventArgs e)
{
MessageBox.Show(e.Request.Url);
}
}
}
参照
処理手順
方法: Web パフォーマンス テストのカスタム抽出規則を作成する
方法: Web パフォーマンス テストのカスタム検証規則を作成する
方法: コード化された Web パフォーマンス テストを作成する
方法: Web パフォーマンス テスト エディターを使用して既存の Web パフォーマンス テストを編集する