Gewusst wie: Erstellen eines Anforderungsebenen-Plug-Ins
Dieses Thema gilt für folgende Anwendungsbereiche:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
Anforderungen sind die deklarativen Anweisungen, aus denen Webleistungstests bestehen. Webleistungstest-Plug-Ins ermöglichen es Ihnen, Code außerhalb der Hauptdeklarationen des Webleistungstests zu isolieren und wiederzuverwenden. Sie können Plug-Ins erstellen und sie einer individuellen Anforderung sowie dem Webleistungstest hinzufügen, in dem sie enthalten ist. Mit einem benutzerdefinierten Anforderungs-Plug-In haben Sie die Möglichkeit, Code aufzurufen, während eine bestimmte Anforderung in einem Webleistungstest ausgeführt wird.
Jedes Webleistungstestanforderungs-Plug-In verfügt über eine PreRequest-Methode und eine PostRequest-Methode. Nachdem Sie ein Anforderungs-Plug-In an eine bestimmte HTTP-Anforderung angefügt haben, wird das PreRequest-Ereignis noch vor Senden der Anforderung ausgelöst und das PostRequest-Ereignis nach dem Empfangen der Antwort.
Sie können ein benutzerdefiniertes Webleistungstestanforderungs-Plug-In erstellen, indem Sie die eigene Klasse von der WebTestRequestPlugin-Basisklasse ableiten.
Sie können benutzerdefinierte Webleistungstestanforderungs-Plug-Ins mit den aufgezeichneten Webleistungstests verwenden. Durch benutzerdefinierte Webleistungstestanforderungs-Plug-Ins können Sie nur eine minimale Menge Code erstellen, um eine bessere 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.
So erstellen Sie ein Anforderungsebenen-Plug-In
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Projektmappe. Wählen Sie Hinzufügen aus, und klicken Sie 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, und 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 dann 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-Anforderungstest-Plug-In hinzufügen möchten. Wählen Sie Verweis hinzufügen aus.
Das Dialogfeld Verweis hinzufügen wird angezeigt.
Klicken Sie auf die Registerkarte Projekte, wählen Sie das Klassenbibliothekprojekt aus, und klicken Sie dann auf OK.
Schreiben Sie im Code-Editor den Code für das Plug-In. Erstellen Sie zunächst eine neue, öffentliche Klasse, die von WebTestRequestPlugin abgeleitet wird.
Implementieren Sie Code innerhalb eines oder beider Ereignishandler PreRequest und PostRequest. Beachten Sie hierzu die Beispielimplementierung im folgenden Abschnitt.
Nachdem Sie den Code verfasst haben, erstellen Sie das neue Projekt.
Öffnen Sie den Webleistungstest, dem Sie das Anforderungs-Plug-In hinzufügen möchten.
Klicken Sie mit der rechten Maustaste auf die Anforderung, der Sie das Anforderungs-Plug-In hinzufügen möchten, und wählen Sie Anforderungs-Plug-In hinzufügen aus.
Das Dialogfeld Webtestanforderungs-Plug-In hinzufügen wird angezeigt.
Wählen Sie unter Plug-In auswählen das neue Plug-In 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 Anforderungs-Plug-Ins hinzugefügt, der ein untergeordneter Ordner der HTTP-Anforderung ist.
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
Sie können mit dem folgenden Code ein benutzerdefiniertes Webleistungstest-Plug-In erstellen, das zwei Dialogfelder anzeigt. In einem Dialogfeld wird die URL angezeigt, die der Anforderung zugeordnet ist, an die Sie das Anforderungs-Add-In anfügen. Das zweite Dialogfeld zeigt den Computernamen für den Agent an.
Tipp
Für den folgenden Code müssen Sie einen Verweis auf "System.Windows.Forms" hinzufügen.
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.VisualStudio.TestTools.WebTesting;
namespace RequestPluginNamespace
{
public class MyWebRequestPlugin : WebTestRequestPlugin
{
public override void PostRequest(object sender, PostRequestEventArgs e)
{
MessageBox.Show(e.WebTest.Context.AgentName);
}
public override void PreRequest(object sender, PreRequestEventArgs e)
{
MessageBox.Show(e.Request.Url);
}
}
}
Siehe auch
Aufgaben
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