方法: Web パフォーマンス テスト プラグインを作成する
このトピックの内容は、次の製品に該当します。
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Web パフォーマンス テスト プラグインを使用すると、Web パフォーマンス テストの主要な宣言ステートメントとコードを分離し、そのコードを再利用できます。 カスタマイズされた Web パフォーマンス テスト プラグインには、Web パフォーマンス テストの実行時に一部のコードを呼び出す方法が用意されています。 Web パフォーマンス テスト プラグインは、テスト イテレーションごとに 1 回実行されます。 また、テスト プラグインで PreRequest メソッドまたは PostRequest メソッドをオーバーライドすると、これらの要求プラグインは各要求のそれぞれ前または後に実行されます。
カスタマイズされた Web パフォーマンス テスト プラグインは、WebTestPlugin 基本クラスから独自のクラスを派生することによって作成できます。
記録した Web パフォーマンス テストではカスタマイズされた Web パフォーマンス テスト プラグインを使用できるため、最小限のコードを記述するだけで、Web パフォーマンス テストをより高度に制御できるようになります。 ただし、コード化された Web パフォーマンス テストでそれらを使用することもできます。 詳細については、「方法: コード化された Web パフォーマンス テストを作成する」を参照してください。
注意
ロード テスト プラグインも作成できます。 詳細については、「方法 : ロード テスト プラグインを作成する」を参照してください。
カスタム Web パフォーマンス テスト プラグインを作成するには
Web パフォーマンス テストを含むテスト プロジェクトを開きます。
テスト プロジェクトを作成する方法の詳細については、「方法: 自動テスト用にテスト プロジェクトを作成および構成する」を参照してください。
ソリューション エクスプローラーで、ソリューションを右クリックし、[追加] を選択して、[新しいプロジェクト] をクリックします。
[新しいプロジェクトの追加] ダイアログ ボックスが表示されます。
[インストールされているテンプレート] の [Visual C#] を選択します。
テンプレートの一覧で、[クラス ライブラリ] を選択します。
[名前] ボックスに、クラスの名前を入力します。
[OK] をクリックします。
新しいクラス ライブラリ プロジェクトがソリューション エクスプローラーに追加され、新しいクラスがコード エディターに表示されます。
ソリューション エクスプローラーで、新しいクラス ライブラリの [参照設定] フォルダーを右クリックし、[参照の追加] を選択します。
[参照の追加] ダイアログ ボックスが表示されます。
[.NET] タブをクリックし、スクロール ダウンして [Microsoft.VisualStudio.QualityTools.WebTestFramework] を選択します。
[OK] をクリックします。
Microsoft.VisualStudio.QualityTools.WebTestFramework への参照がソリューション エクスプローラーの [参照設定] フォルダーに追加されます。
ソリューション エクスプローラーで、Web パフォーマンス テスト プラグインの追加先であるロード テストを含んでいるテスト プロジェクトの最上位ノードを右クリックし、[参照の追加] を選択します。
[参照の追加] ダイアログ ボックスが表示されます。
[プロジェクト] タブをクリックし、[クラス ライブラリ プロジェクト] を選択します。
[OK] をクリックします。
コード エディターで、プラグインのコードを記述します。 まず、WebTestPlugin クラスから派生する新しいパブリック クラスを作成します。
PreWebTest イベント ハンドラーと PostWebTest イベント ハンドラーのいずれかまたは両方にコードを実装します。 実装のサンプルについては、次の例を参照してください。
このコードを記述した後で、新しいプロジェクトをビルドします。
Web パフォーマンス テストを開きます。
Web パフォーマンス テスト プラグインを追加するには、ツール バーの [Web テスト プラグインの追加] をクリックします。
[Web テスト プラグインの追加] ダイアログ ボックスが表示されます。
[プラグインの選択] で、Web パフォーマンス テスト プラグイン クラスを選択します。
[選択したプラグインのプロパティ] ペインで、実行時に使用するプラグインの初期値を設定します。
注意
プラグインのプロパティをパブリック、設定可能、および基本型 (整数型、ブール型、文字列型など) として設定して、任意の数だけ公開できます。 Web パフォーマンス テスト プラグインのプロパティは、後で [プロパティ] ウィンドウを使用して変更することもできます。
[OK] をクリックします。
[Web テスト プラグイン] フォルダーにプラグインが追加されます。
ヒント
プラグインを使用する 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) を作成したのに、プラグインが元のプラグイン バージョンを参照したままになっている場合です。 この問題を解決するには、次の手順を実行します。
-
テスト プロジェクトで、参照に関する警告が表示されます。 プラグイン dll への参照を削除し、再度追加します。
-
プラグインをテストまたは該当する場所から削除し、その後、追加し直します。
-
使用例
次のコードでは、テスト イテレーションを表す WebTestContext に項目を追加する、カスタマイズされた Web パフォーマンス テスト プラグインを作成します。
Web パフォーマンス テストの実行後は、このプラグインを使用することにより、TestIteratnionNumer という名前の追加された項目を、Web パフォーマンス テスト結果ビューアーの [コンテキスト] タブで確認できます。
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace SampleRules
{
public class SampleWebTestPlugin : WebTestPlugin
{
// start counting iterations at 1 not 0
// so that the iteration number we give matches the run number
static int testIterationNumber = 1;
public override void PostWebTest(object sender, PostWebTestEventArgs e)
{
}
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
e.WebTest.Context["TestIterationNumber"] = testIterationNumber;
testIterationNumber++;
}
}
}
参照
処理手順
方法: Web パフォーマンス テストのカスタム抽出規則を作成する
方法: Web パフォーマンス テストのカスタム検証規則を作成する
方法: コード化された Web パフォーマンス テストを作成する
方法: Web パフォーマンス テスト エディターを使用して既存の Web パフォーマンス テストを編集する