Freigeben über


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.

HinweisHinweis

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

  1. Steuern Sie, wie viel Zeit das Laden der Anmeldeseite in Anspruch nimmt.

                TestContext.BeginTimer("UI Login Page Load");
    
  2. Durch diesen Aufruf wird die Anmeldeseite geladen.

               UIMap.LoginPage();
    
  3. 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");
    
    WarnhinweisVorsicht

    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.

  4. Diese Funktion füllt das Anmeldeformular aus.

               UIMap.FilledInLoginForm();
    
  5. Steuern Sie die Zeit für den Anmeldevorgang.

               TestContext.BeginTimer("UI Login");
               UIMap.LoggedIn();
    
  6. 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

Ff468125.collapse_all(de-de,VS.110).gifLeitfaden

Tests für fortlaufende Übermittlung mit Visual Studio 2012 - Chapter 6: Eine Tests-Toolbox

Siehe auch

Referenz

WaitForControlReady

Konzepte

Testen der Benutzeroberfläche mit automatisierten Tests der codierten UI

Weitere Ressourcen

Erstellen und Bearbeiten von Auslastungs- und Webleistungstests