Gewusst wie: Erstellen eines Webleistungstest-Plug-Ins
Dieses Thema gilt für folgende Anwendungsbereiche:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Webleistungstest-Plug-Ins ermöglichen es Ihnen, Code außerhalb der Hauptdeklarationen des Webleistungstests zu isolieren und wiederzuverwenden. Mit einem benutzerdefinierten Webleistungstest-Plug-In können Sie bei Ausführung des Webleistungstests einen Teil des Codes aufrufen. Das Webleistungstest-Plug-In wird bei jeder Testiteration einmal ausgeführt. Wenn Sie außerdem die PreRequest-Methode oder PostRequest-Methode im Test-Plug-In überschreiben, werden diese Anforderungs-Plug-Ins jeweils vor bzw. nach den einzelnen Anforderungen ausgeführt.
Sie können ein benutzerdefiniertes Webleistungstest-Plug-In erstellen, indem Sie die eigene Klasse von der WebTestPlugin-Basisklasse ableiten.
Benutzerdefinierte Webleistungstest-Plug-Ins können mit den aufgezeichneten Webleistungstests verwendet werden, sodass Sie nur eine minimale Menge Code erstellen müssen, um eine größere Kontrolle über Ihre Webleistungstests zu erhalten. Sie können die Plug-Ins jedoch auch mit codierten Webleistungstests verwenden. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines codierten Webleistungstests.
Tipp
Außerdem können Sie Auslastungstest-Plug-Ins erstellen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Auslastungstest-Plug-Ins.
So erstellen Sie ein benutzerdefiniertes Plug-In für Webleistungstests
Öffnen Sie ein Testprojekt, das einen Webleistungstest enthält.
Weitere Informationen zum Erstellen eines Testprojekts finden Sie unter Gewusst wie: Erstellen und Konfigurieren von Testprojekten für automatisierte Tests.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe, und klicken Sie auf Hinzufügen und dann auf Neues Projekt.
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.
Klicken Sie auf die Registerkarte .NET, führen Sie einen Bildlauf nach unten durch, und wählen Sie Microsoft.VisualStudio.QualityTools.WebTestFramework aus.
Klicken Sie auf OK.
Dem Ordner Verweis im Projektmappen-Explorer wird der Verweis auf Microsoft.VisualStudio.QualityTools.WebTestFramework hinzugefügt.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den obersten Knoten des Testprojekts, das den Auslastungstest enthält, zu dem Sie das Webleistungstest-Plug-In hinzufügen möchten. Wählen Sie dann Verweis hinzufügen aus.
Das Dialogfeld Verweis hinzufügen wird angezeigt.
Klicken Sie auf die Registerkarte Projekte, und wählen Sie das Klassenbibliotheksprojekt aus.
Klicken Sie auf OK.
Schreiben Sie im Code-Editor den Code für das Plug-In. Erstellen Sie zunächst eine neue, öffentliche Klasse, die von WebTestPlugin abgeleitet wird.
Implementieren Sie Code innerhalb eines oder beider Ereignishandler PreWebTest und PostWebTest. Beachten Sie hierzu die Beispielimplementierung im folgenden Abschnitt.
Nachdem Sie den Code verfasst haben, erstellen Sie das neue Projekt.
Öffnen Sie einen Webleistungstest.
Um das Webleistungstest-Plug-In hinzuzufügen, klicken Sie auf der Symbolleiste auf Webtest-Plug-In hinzufügen.
Das Dialogfeld Webtest-Plug-In hinzufügen wird angezeigt.
Wählen Sie unter Plug-In auswählen die Webleistungstest-Plug-In-Klasse aus.
Legen Sie im Bereich Eigenschaften für das ausgewählte Plug-In die Anfangswerte fest, die das Plug-In zur Laufzeit verwenden soll.
Tipp
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 Webtest-Plug-Ins hinzugefügt.
Warnung
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:
-
Im Testprojekt wird in Verweisen eine Warnung angezeigt. 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
Mit dem folgenden Code wird ein benutzerdefiniertes Webleistungstest-Plug-In erstellt, das dem WebTestContext ein Element hinzufügt, das die Testiteration angibt.
Nach der Ausführung des Webleistungstests können Sie mit diesem Plug-In das hinzugefügte Element mit dem Namen TestIterationNumber auf der Registerkarte Kontext im Webleistungstest-Ergebnisviewer anzeigen.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace SampleRules
{
public class SampleWebTestPlugin : WebTestPlugin
{
// start counting iterations at 1 not 0
// so that the iteration number we give matches the run number
static int testIterationNumber = 1;
public override void PostWebTest(object sender, PostWebTestEventArgs e)
{
}
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
e.WebTest.Context["TestIterationNumber"] = testIterationNumber;
testIterationNumber++;
}
}
}
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines Anforderungsebenen-Plug-Ins
How to: Create a Custom Extraction Rule for a Web Performance Test
How to: Create a Custom Validation Rule for a Web Performance Test
Gewusst wie: Erstellen eines Auslastungstest-Plug-Ins
Gewusst wie: Erstellen eines codierten Webleistungstests
How to: Edit an Existing Web Performance Test Using the Web Performance Test Editor
Referenz
Weitere Ressourcen
Erstellen und Verwenden von benutzerdefinierten Plug-Ins für Auslastungs- und Webleistungstests