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.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 Webleistungstests erstellen.Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Webleistungstest-Plug-Ins. |
Anforderungen
- Visual Studio Ultimate
So erstellen Sie ein Auslastungstest-Plug-In mit Visual C#
Öffnen Sie ein Mischung der Webleistungs- und -Auslastungstestprojekt, das einen Webleistungstest enthält.
Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Konfigurieren von Testprojekten für automatisierte Tests.
Fügen Sie dem Testprojekt einen Auslastungstest hinzu, und konfigurieren Sie ihn für die Ausführung eines Webleistungstests.
Weitere Informationen finden Sie unter Creating Load Tests Using the New Load Test Wizard.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und wählen Sie Hinzufügen und dann Neues Projekt aus.
Das Dialogfeld Neues Projekt hinzufügen wird angezeigt.
Wählen Sie unter Installierte Vorlagen den Eintrag Visual C# aus.
Wählen Sie in der Liste der Vorlagen den Eintrag Klassenbibliothek aus.
Geben Sie im Textfeld Name einen Namen für die Klasse ein.
Klicken Sie auf OK.
Dem Projektmappen-Explorer wird das neue Klassenbibliotheksprojekt hinzugefügt, und die neue Klasse wird im Code-Editor angezeigt.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Verweise in der neuen Klassenbibliothek, und wählen Sie Verweis hinzufügen aus.
Das Dialogfeld Verweis hinzufügen wird angezeigt.
Wählen Sie die Registerkarte aus .NET, führen Sie einen Bildlauf nach unten durch und wählen Sie dann Microsoft.VisualStudio.QualityTools.LoadTestFramework aus.
Klicken Sie auf OK.
Dem Ordner Verweis im Projektmappen-Explorer wird der Verweis auf Microsoft.VisualStudio.QualityTools.LoadTestFramework hinzugefügt.
Klicken Sie im Projektmappen-Explorer, auf den obersten Knoten des Mischung der Webleistungs- und -Auslastungstestprojekts xxxx 3, das den Auslastungstest enthält, zu dem Sie das Auslastungstest-Plug-In hinzufügen und Verweis hinzufügen auswählen möchten.
Das Dialogfeld Verweis hinzufügen wird angezeigt.
Wählen Sie die Registerkarte aus Projekte und wählen Sie das Klassenbibliothekprojekt aus.
Klicken Sie auf OK.
Fügen Sie im Code-Editor eine using-Anweisung für den Microsoft.VisualStudio.TestTools.LoadTesting-Namespace hinzu.
Implementieren Sie die ILoadTestPlugin-Schnittstelle für die Klasse, die im Klassenbibliotheksprojekt erstellt wurde.Beachten Sie hierzu die Beispielimplementierung im folgenden Abschnitt.
Nachdem Sie den Code verfasst haben, erstellen Sie das neue Projekt.
Klicken Sie auf den obersten Knoten des Auslastungstests mit der rechten Maustaste und wählen Sie dann Auslastungstest-Plug-In hinzufügen aus.
Das Dialogfeld Auslastungstest-Plug-In hinzufügen wird angezeigt.
Wählen Sie unter Plug-In auswählen die Klasse des Auslastungstest-Plug-Ins aus.
Legen Sie im Bereich Eigenschaften für das ausgewählte Plug-In die Anfangswerte fest, die das Plug-In zur Laufzeit verwenden soll.
Hinweis Sie können beliebig viele Plug-In-Eigenschaften verfügbar machen. Die Eigenschaften müssen dazu lediglich öffentlich, festlegbar und von einem Basistyp (z. B. "Integer", "Boolean" oder "String") sein.Sie können die Eigenschaften des Webleistungstest-Plug-Ins auch zu einem späteren Zeitpunkt im Eigenschaftenfenster ändern.
Klicken Sie auf OK.
Das Plug-In wird dem Ordner Auslastungstest-Plug-Ins hinzugefügt.
Vorsicht Möglicherweise erhalten Sie einen Fehler wie den folgenden, wenn Sie einen Webleistungstest oder einen Auslastungstest ausführen, der das Plug-In verwendet:
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.
Ein solcher Fehler wird verursacht, wenn Sie an einem der Plug-Ins Codeänderungen vornehmen und eine neue DLL-Version (Version=0.0.0.0) erstellen, während das Plug-In weiterhin auf die ursprüngliche Plug-In-Version verweist.Um dieses Problem zu beheben, führen Sie folgende Schritte aus:
In dem Mischung der Webleistungs- und -Auslastungstestprojekt wird in Verweisen eine Warnung.Entfernen Sie den Verweis auf die Plug-In-DLL, und fügen Sie ihn wieder hinzu.
Entfernen Sie das Plug-In aus dem Test oder vom entsprechenden Speicherort, und fügen Sie es dann wieder hinzu.
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-Agent auf einem Remotecomputer ausgeführt wird und der Test-Agent nicht über einen localhost-SMTP-Dienst verfügt, wird für den Auslastungstest der Status "In Bearbeitung" beibehalten, und es wird eine Meldung angezeigt.
Hinweis |
---|
Für den folgenden Code müssen Sie einen Verweis auf "System.Windows.Forms" hinzufügen. |
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 = myLoadTest..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", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1);
}
}
}
}
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.Im Folgenden werden die Ereignisse aufgelistet, die einen Zugriff auf verschiedene Phasen des Auslastungstestlaufs ermöglichen:
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Webleistungstest-Plug-Ins
Referenz
Weitere Ressourcen
Erstellen und Verwenden von benutzerdefinierten Plug-Ins für Auslastungs- und Webleistungstests