Gewusst wie: Erstellen eines Auslastungstest-Plug-Ins
Sie können ein Auslastungstest-Plug-In erstellen, um während des Auslastungstests Code zu verschiedenen Zeitpunkten auszuführen. Zum Erstellen eines Plug-Ins erweitern Sie die integrierten Funktionen des Auslastungstests. Hierzu müssen Sie eine Klasse erstellen, die von der ILoadTestPlugin-Schnittstelle erbt. Diese Klasse muss die Initialize-Methode dieser Schnittstelle implementieren. Weitere Informationen finden Sie unter ILoadTestPlugin.
Hinweis
Sie können auch Plug-Ins für Webtests erstellen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Webtest-Plug-Ins.
So erstellen Sie ein Auslastungstest-Plug-In in C#
Öffnen Sie ein Testprojekt, das einen Webtest enthält.
Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Testprojekts.
Fügen Sie dem Testprojekt einen Auslastungstest hinzu, und konfigurieren Sie ihn für die Ausführung eines Webtests.
Weitere Informationen finden Sie unter Gewusst wie: Starten des Auslastungstest-Assistenten.
Fügen Sie Ihrer Testprojektmappe ein Projekt für eine C#-Klassenbibliothek hinzu.
Fügen Sie im Klassenbibliothekprojekt einen Verweis auf die Datei Microsoft.VisualStudio.QualityTools.LoadTestFramework.dll hinzu.
Fügen Sie der Klassendatei im Klassenbibliothekprojekt eine using-Anweisung für den Microsoft.VisualStudio.TestTools.LoadTesting-Namespace hinzu.
Implementieren Sie die ILoadTestPlugin-Schnittstelle für die Klasse, die im Klassenbibliothek-Projekt erstellt wurde. Beachten Sie hierzu die Beispielimplementierung im folgenden Abschnitt.
Klicken Sie im Testprojekt mit der rechten Maustaste, und wählen Sie Verweis hinzufügen aus.Wählen Sie auf der Registerkarte Projekte das Klassenbibliothekprojekt aus. Klicken Sie auf OK.
Öffnen Sie den Auslastungstest, und wählen Sie den obersten Knoten des Auslastungstests aus. Drücken Sie F4, um das Eigenschaftenfenster anzuzeigen. Sie können jetzt die Eigenschaft Auslastungstest-Plug-In festlegen, indem Sie auf die Ellipse (...) klicken. Wählen Sie im Dialogfeld Ihre Klasse aus.
Beispiel
Im folgenden Code wird ein Auslastungstest-Plug-In dargestellt, das nach dem Auftreten eines LoadTestFinished-Ereignisses benutzerdefinierten Code ausführt. Wenn dieser Code auf einem Test-Rig ausgeführt wird und das Test-Rig nicht über einen SMTP-Dienst für localhost verfügt, behält der Auslastungstest den Zustand "In Bearbeitung" bei, und es wird eine Meldung angezeigt.
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");
}
}
}
}
Es gibt acht Ereignisse, die bei einem Auslastungstest auftreten und im Auslastungstest-Plug-In behandelt werden können, um benutzerdefinierten Code während eines Auslastungstests auszuführen. Es folgt eine Liste der Ereignisse, die einen Zugriff auf verschiedene Phasen des Auslastungstestlaufs ermöglichen:
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Webtestanforderungs-Plug-Ins
Gewusst wie: Erstellen eines Webtest-Plug-Ins