Using Coded UI Tests in Load Tests
Sie führen Auslastungstests durch, um das Verhalten der Software bei unterschiedlichen Auslastungsgraden zu bestimmen.Ein Auslastungstest modelliert die erwartete Nutzung eines Softwareprogramms, indem der gleichzeitige Zugriff auf das Programm durch mehrere Benutzer simuliert wird.Weitere Informationen finden Sie unter Erstellen und Bearbeiten von Auslastungstests.
Auslastungstests bestehen hauptsächlich aus einer Reihe von Webleistungstests oder Komponententests, die von mehreren simulierten Benutzern über einen bestimmten Zeitraum ausgeführt werden.Auslastungstests können auch automatisierte Tests der codierten UI enthalten.Tests der codierten UI sollten nur unter bestimmten Umständen in Auslastungstests eingeschlossen werden.Alle Szenarien, bei denen Tests der codierten UI in Auslastungstests verwendet werden, beinhalten die Verwendung der Tests der codierten UI als Leistungstests.Dies kann hilfreich sein, da mit Tests der codierten UI die Leistung auf der Benutzeroberflächenebene erfasst werden kann.Wenn eine Anwendung z. B. 1 Sekunde benötigt, um Daten an den Client zurückzugeben, aber 8 Sekunden, um die Daten im Browser zu rendern, können Sie diesen Leistungsproblemtyp nicht mit einem Webleistungstest erfassen.
Ein weiteres Szenario für die Verwendung von Tests der codierten UI in einem Auslastungstest ist eine Anwendung, bei der die Skripterstellung auf der Protokollebene schwierig ist.In diesem Fall können Sie die Auslastung vorübergehend mit codierter Benutzeroberfläche steuern, bis Sie das Skript für die Protokollebene korrekt schreiben können.
Anforderungen
- Visual Studio Ultimate
Implementieren von Zeitsteuerungsmessungen in Tests der codierten UI
Standardmäßig liefert ein in Auslastungstests verwendeter Test der codierten UI keine genauen Zeitsteuerungsmessungen, da die Aufrufe asynchron sind.Sie müssen die Tests der codierten UI korrekt implementieren, um genaue Zeitsteuerungsmessungen zu erhalten.Dazu kann die WaitForControlReady-Methode verwendet werden.Dies wird in den folgenden Beispielcodeausschnitten für eine Anmeldeseite veranschaulicht.
Hinweis |
---|
Dies ist ein vereinfachtes Beispiel.Bei einem realen Test müsste auch die zeitliche Steuerung bei einem Anmeldungsfehler behandelt werden. |
So implementieren Sie einen in einem Auslastungstest verwendeten Test der codierten UI korrekt
Steuern Sie, wie viel Zeit das Laden der Anmeldeseite in Anspruch nimmt.
TestContext.BeginTimer("UI Login Page Load");
Durch diesen Aufruf wird die Anmeldeseite geladen.
UIMap.LoginPage();
Für jede zeitliche Steuerung in einem Webtest muss "WaitForReady" verwendet werden.Dadurch wird gewartet, bis das Formular angezeigt wird.
UIMap.UIHttpteamtestweb1STORWindow1.UIHttpteamtestweb1STORDocument.UIEmailEdit.WaitForControlReady(); TestContext.EndTimer("UI Login Page Load");
Vorsicht Stellen Sie sicher, dass die Zeit für das Ausfüllen des Formulars nicht im Timer erfasst wird.Generieren Sie während der Aufzeichnung nach dem Ausfüllen eines Formulars, aber vor dem Absenden, Code aus der Aufzeichnung.
Diese Funktion füllt das Anmeldeformular aus.
UIMap.FilledInLoginForm();
Steuern Sie die Zeit für den Anmeldevorgang.
TestContext.BeginTimer("UI Login"); UIMap.LoggedIn();
Für jede zeitliche Steuerung in einem Webtest muss "WaitForReady" verwendet werden.Dadurch wird gewartet, bis die Anmeldebestätigungsseite angezeigt wird.
UIMap.UIHttpteamtestweb1STORWindow.UIHttpteamtestweb1STORDocument.UIWelcomeJamesBondwellPane.WaitForControlReady(); TestContext.EndTimer("UI Login");
Einschränkungen des Tests der codierten UI in Auslastungstests
Tests der codierten UI steuern die Maus und die Tastatur.Daher kann pro Agent nur ein virtueller Benutzer Tests der codierten UI ausführen.Dies lässt sich am besten steuern, indem Sie ein separates Szenario im Auslastungstest einrichten und die Benutzerauslastung auf einen Benutzer festlegen.Wenn Sie mehrere UI-Tests verwenden, konfigurieren Sie die Testmischung als "Sequential".Weitere Informationen finden Sie unter Erstellen weiterer Szenarios für einen vorhandenen Auslastungstest und Bearbeiten von Textmischungsmodellen zum Angeben der Wahrscheinlichkeit, mit der ein virtueller Benutzer einen Test ausführt.
Zudem müssen die Load Agents so konfiguriert werden, dass sie nicht als Dienst, sondern als interaktiver Prozess ausgeführt werden.Weitere Informationen finden Sie unter Installieren und Konfigurieren von Test Agents und Testcontrollern.
Externe Ressourcen
Leitfaden
Tests für fortlaufende Übermittlung mit Visual Studio 2012 - Chapter 6: Eine Tests-Toolbox
Siehe auch
Referenz
Konzepte
Testen der Benutzeroberfläche mit automatisierten Tests der codierten UI
Weitere Ressourcen
Erstellen und Bearbeiten von Auslastungs- und Webleistungstests