次の方法で共有


方法 : 要求レベルのプラグインを作成する

 

発行: 2016年7月

要求は、Web パフォーマンス テストを構成する宣言ステートメントです。 Web パフォーマンス テスト プラグインを使用すると、Web パフォーマンス テストの主要な宣言ステートメントとコードを分離し、そのコードを再利用できます。 プラグインを作成し、要求を含む Web パフォーマンス テストに追加するのと同じように、個々の要求にも追加できます。 カスタマイズされた要求プラグインを使用すると、Web パフォーマンス テスト中の特定の要求の実行時にコードを呼び出すことができます。

すべての Web パフォーマンス テスト要求プラグインには、PreRequest メソッドと PostRequest メソッドがあります。 要求プラグインを特定の HTTP 要求にアタッチすると、その要求の発行前に PreRequest イベントが発生し、応答の受信後に PostRequest が起動します。

カスタマイズされた Web パフォーマンス テスト要求プラグインは、WebTestRequestPlugin 基底クラスから独自のクラスを派生することによって作成できます。

カスタマイズされた Web パフォーマンス テスト要求プラグインは、記録した Web パフォーマンス テストで使用できます。 カスタマイズした Web パフォーマンス テスト要求プラグインを使用すると、最小限のコードを記述するだけで、Web パフォーマンス テストをより高度に制御できるようになります。 ただし、コード化された Web パフォーマンス テストでそれらを使用することもできます。 「[廃版] 方法: コード化された Web パフォーマンス テストを作成する」を参照してください。

必要条件

  • Visual Studio Enterprise

要求レベルのプラグインを作成するには

  1. ソリューション エクスプローラーでソリューションを右クリックします。 [追加] を選択して、[新しいプロジェクト] を選択します。

    [新しいプロジェクトの追加] ダイアログ ボックスが表示されます。

  2. [インストールされているテンプレート][Visual C#] を選択します。

  3. テンプレートの一覧で、[クラス ライブラリ] を選択します。

  4. [名前] ボックスにクラスの名前を入力し、[OK] をクリックします。

    新しいクラス ライブラリ プロジェクトがソリューション エクスプローラーに追加され、新しいクラスがコード エディターに表示されます。

  5. ソリューション エクスプローラーで、新しいクラス ライブラリの [参照設定] フォルダーを右クリックし、[参照の追加] を選択します。

    [参照の追加] ダイアログ ボックスが表示されます。

  6. [.NET] タブをクリックします。スクロール ダウンし、[Microsoft.VisualStudio.QualityTools.WebTestFramework] を選択して、[OK] をクリックします。

    Microsoft.VisualStudio.QualityTools.WebTestFramework への参照がソリューション エクスプローラーの [参照設定] フォルダーに追加されます。

  7. ソリューション エクスプローラーで、Web パフォーマンス テスト要求のテスト プラグインの追加先であるロード テストを含んでいる Web パフォーマンスとロード テスト プロジェクトの最上位ノードを右クリックします。 [参照の追加] をクリックします。

    [参照の追加] ダイアログ ボックスが表示されます。

  8. [プロジェクト] タブをクリックします。次に、[クラス ライブラリ プロジェクト] をクリックし、[OK] をクリックします。

  9. コード エディターで、プラグインのコードを記述します。 まず、WebTestRequestPlugin クラスから派生する新しいパブリック クラスを作成します。

  10. PreRequest イベント ハンドラーと PostRequest イベント ハンドラーのいずれかまたは両方にコードを実装します。 実装のサンプルについては、次の例を参照してください。

  11. このコードを記述した後で、新しいプロジェクトをビルドします。

  12. 要求プラグインを追加する Web パフォーマンス テストを開きます。

  13. 要求プラグインを追加する要求を右クリックし、[要求プラグインの追加] をクリックします。

    [Web テスト要求プラグインの追加] ダイアログ ボックスが表示されます。

  14. [プラグインの選択] で、新しいプラグインを選択します。

  15. [選択したプラグインのプロパティ] ペインで、実行時に使用するプラグインの初期値を設定します。

    注意

    プラグインのプロパティをパブリック、設定可能、および基本型 (整数型、ブール型、文字列型など) として設定して、任意の数だけ公開できます。Web パフォーマンス テスト プラグインのプロパティは、後で [プロパティ] ウィンドウを使用して変更することもできます。

  16. [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) を作成したのに、プラグインが元のプラグイン バージョンを参照したままになっている場合です。この問題を解決するには、次の手順を実行します。

    1. Web パフォーマンスとロード テストのプロジェクトで、参照に関する警告が表示されます。プラグイン DLL への参照を削除し、再度追加します。

    2. プラグインをテストまたは該当する場所から削除し、その後、追加し直します。

使用例

次のコードを使用して、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);
        }
    }
}

参照

WebTestRequestPlugin
ロード テスト用のカスタム コードおよびカスタム プラグインの作成
Web パフォーマンス テストのカスタム抽出規則のコーディング
Web パフォーマンス テストのカスタム検証規則のコーディング
方法 : ロード テスト プラグインを作成する
[廃版] 方法: コード化された Web パフォーマンス テストを作成する
方法: 既存の Web パフォーマンス テストを編集する