方法 : ロード テスト プラグインを作成する
更新 : 2007 年 11 月
ロード テスト プラグインを作成すると、ロード テストを実行するときに、さまざまな時間にコードを実行できます。プラグインを作成して、ロード テストの組み込みの機能を拡張または変更します。たとえば、ロード テスト プラグインのコードを作成して、ロード テストの実行中にロード テストのパターンを設定または変更できます。これを行うには、ILoadTestPlugin インターフェイスを継承するクラスを作成する必要があります。このクラスは、このインターフェイスの Initialize メソッドを実装する必要があります。詳細については、「ILoadTestPlugin」を参照してください。
メモ : |
---|
Web テスト用のプラグインを作成することもできます。詳細については、「方法 : Web テスト プラグインを作成する」を参照してください。 |
C# を使用してロード テスト プラグインを作成するには
Web テストを含むテスト プロジェクトを開きます。
詳細については、「方法 : テスト プロジェクトを作成する」を参照してください。
ロード テストをテスト プロジェクトに追加して、Web テストを実行するように構成します。
詳細については、「方法 : ロード テスト ウィザードを起動する」を参照してください。
C# クラス ライブラリ プロジェクトをテスト ソリューションに追加します。
クラス ライブラリ プロジェクトの Microsoft.VisualStudio.QualityTools.LoadTestFramework DLL への参照を追加します。
クラス ライブラリ プロジェクトのクラス ファイルで、Microsoft.VisualStudio.TestTools.LoadTesting 名前空間の using ステートメントを追加します。
クラス ライブラリ プロジェクトで作成されたクラスに対して、ILoadTestPlugin インターフェイスを実装します。実装のサンプルについては、次の例を参照してください。
テスト プロジェクトで、右クリックし、[参照の追加] を選択します。[プロジェクト] タブで、[クラス ライブラリ プロジェクト] を選択します。[OK] をクリックします。
ロード テストを開き、ロード テストの先頭のノードを選択します。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 個のイベントがロード テストに関連付けられており、これらをロード テスト プラグインが処理することで、ロード テストでカスタム コードが実行されます。次に示すイベントを使用して、ロード テストの実行のさまざまな時間にアクセスできます。
HeartBeat()