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

Thema ist vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

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

  1. Ö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.

  2. 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.

  3. Wählen Sie unter Installierte Vorlagen den Eintrag Visual C# aus.

  4. Wählen Sie in der Liste der Vorlagen den Eintrag Klassenbibliothek aus.

  5. Geben Sie im Textfeld Name einen Namen für die Klasse ein.

  6. Klicken Sie auf OK.

  7. Dem Projektmappen-Explorer wird das neue Klassenbibliotheksprojekt hinzugefügt, und die neue Klasse wird im Code-Editor angezeigt.

  8. 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.

  9. Das Dialogfeld Verweis hinzufügen wird angezeigt.

  10. Klicken Sie auf die Registerkarte .NET, führen Sie einen Bildlauf nach unten durch, und wählen Sie Microsoft.VisualStudio.QualityTools.WebTestFramework aus.

  11. Klicken Sie auf OK.

    Dem Ordner Verweis im Projektmappen-Explorer wird der Verweis auf Microsoft.VisualStudio.QualityTools.WebTestFramework hinzugefügt.

  12. 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.

  13. Das Dialogfeld Verweis hinzufügen wird angezeigt.

  14. Klicken Sie auf die Registerkarte Projekte, und wählen Sie das Klassenbibliotheksprojekt aus.

  15. Klicken Sie auf OK.

  16. 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.

  17. Implementieren Sie Code innerhalb eines oder beider Ereignishandler PreWebTest und PostWebTest. Beachten Sie hierzu die Beispielimplementierung im folgenden Abschnitt.

  18. Nachdem Sie den Code verfasst haben, erstellen Sie das neue Projekt.

  19. Öffnen Sie einen Webleistungstest.

  20. 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.

  21. Wählen Sie unter Plug-In auswählen die Webleistungstest-Plug-In-Klasse aus.

  22. 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.

  23. 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:

    1. Im Testprojekt wird in Verweisen eine Warnung angezeigt. Entfernen Sie den Verweis auf die Plug-In-DLL, und fügen Sie ihn wieder hinzu.

    2. 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

WebTestRequestPlugin

Weitere Ressourcen

Erstellen und Verwenden von benutzerdefinierten Plug-Ins für Auslastungs- und Webleistungstests