Gewusst wie: Erstellen eines Auslastungstest-Plug-Ins
Aktualisiert: November 2007
Sie können ein Auslastungstest-Plug-In erstellen, um während des Auslastungstests Code zu verschiedenen Zeitpunkten auszuführen. Mithilfe von erstellten Plug-Ins können die integrierten Funktionen des Auslastungstests erweitert oder bearbeitet werden. Sie können z. B. Code für ein Auslastungstest-Plug-In schreiben, um während der Ausführung des Auslastungstests das Testmuster festzulegen oder zu bearbeiten. 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 dem Klassenbibliothek-Projekt einen Verweis auf die 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 . Auf der Registerkarte wählen Sie Projekte und dann das Klassenbibliothekprojekt aus. Klicken Sie auf OK.
Öffnen Sie den Auslastungstest, und wählen Sie den Knoten der obersten Ebene 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:
HeartBeat()
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Webtest-Plug-Ins