方法 : ロード テスト プラグインを作成する

更新 : 2007 年 11 月

ロード テスト プラグインを作成すると、ロード テストを実行するときに、さまざまな時間にコードを実行できます。プラグインを作成して、ロード テストの組み込みの機能を拡張または変更します。たとえば、ロード テスト プラグインのコードを作成して、ロード テストの実行中にロード テストのパターンを設定または変更できます。これを行うには、ILoadTestPlugin インターフェイスを継承するクラスを作成する必要があります。このクラスは、このインターフェイスの Initialize メソッドを実装する必要があります。詳細については、「ILoadTestPlugin」を参照してください。

メモ :

Web テスト用のプラグインを作成することもできます。詳細については、「方法 : Web テスト プラグインを作成する」を参照してください。

C# を使用してロード テスト プラグインを作成するには

  1. Web テストを含むテスト プロジェクトを開きます。

    詳細については、「方法 : テスト プロジェクトを作成する」を参照してください。

  2. ロード テストをテスト プロジェクトに追加して、Web テストを実行するように構成します。

    詳細については、「方法 : ロード テスト ウィザードを起動する」を参照してください。

  3. C# クラス ライブラリ プロジェクトをテスト ソリューションに追加します。

  4. クラス ライブラリ プロジェクトの Microsoft.VisualStudio.QualityTools.LoadTestFramework DLL への参照を追加します。

  5. クラス ライブラリ プロジェクトのクラス ファイルで、Microsoft.VisualStudio.TestTools.LoadTesting 名前空間の using ステートメントを追加します。

  6. クラス ライブラリ プロジェクトで作成されたクラスに対して、ILoadTestPlugin インターフェイスを実装します。実装のサンプルについては、次の例を参照してください。

  7. テスト プロジェクトで、右クリックし、[参照の追加] を選択します。[プロジェクト] タブで、[クラス ライブラリ プロジェクト] を選択します。[OK] をクリックします。

  8. ロード テストを開き、ロード テストの先頭のノードを選択します。F4 キーを押して [プロパティ] ウィンドウを表示します。[ロード テスト プラグイン] プロパティを設定するには、省略記号 (...) をクリックします。ダイアログ ボックスでクラスを選択します。

使用例

LoadTestFinished イベントが発生した後でカスタム コードを実行するロード テスト プラグインを次のコードに示します。このコードが test リモート テスト マシン群で実行され、test リモート テスト マシン群にローカルホスト SMTP サービスがない場合、メッセージ ボックスが開いたときに表示されるロード テストの状態は "処理中" のままです。

using System;
using Microsoft.VisualStudio.TestTools.LoadTesting;
using System.Net.Mail;
using System.Windows.Forms;

namespace LoadTestPluginTest
{
    public class MyLoadTestPlugin : ILoadTestPlugin
    {
        LoadTest myLoadTest;

        public void Initialize(LoadTest loadTest)
        {
            myLoadTest = loadTest;
            myLoadTest.LoadTestFinished += new
                EventHandler(myLoadTest_LoadTestFinished);
        }

        void myLoadTest_LoadTestFinished(object sender, EventArgs e)
        {
            try
            {
                // place custom code here
                MailAddress MyAddress = new MailAddress("someone@example.com");
                MailMessage MyMail = new MailMessage(MyAddress, MyAddress);
                MyMail.Subject = "Load Test Finished -- Admin Email";
                MyMail.Body = ((LoadTest)sender).Name + " has finished.";

                SmtpClient MySmtpClient = new SmtpClient("localhost");
                MySmtpClient.Send(MyMail);
            }

            catch (SmtpException ex)
            {
                MessageBox.Show(ex.InnerException.Message +
                    ".\r\nMake sure you have a valid SMTP.", "LoadTestPlugin");
            }
        }
    }
} 

8 個のイベントがロード テストに関連付けられており、これらをロード テスト プラグインが処理することで、ロード テストでカスタム コードが実行されます。次に示すイベントを使用して、ロード テストの実行のさまざまな時間にアクセスできます。

参照

処理手順

方法 : Web テスト プラグインを作成する

参照

ILoadTestPlugin