Überprüfen von Code mithilfe der Benutzeroberflächenautomatisierung
Automatisierte Tests, die die Anwendung über die Benutzeroberfläche (UI) steuern, werden als Tests der codierten UI (CUITs) bezeichnet.Zu diesen Tests gehören Funktionstests der UI-Steuerelemente.Mithilfe dieser Tests können Sie überprüfen, ob die gesamte Anwendung einschließlich der Benutzeroberfläche ordnungsgemäß funktioniert.Tests der codierten UI sind besonders bei der Überprüfung oder einer anderen Logik der Benutzeroberfläche hilfreich, beispielsweise einer Webseite.Außerdem werden sie häufig zum Automatisieren eines vorhandenen manuellen Tests verwendet.
Wie in der folgenden Abbildung dargestellt könnte es sich bei einer typischen Entwicklungsumgebung um eine Umgebung handeln, bei der Sie einfach zu Beginn die Anwendung (F5) erstellen und durch die UI-Steuerelemente klicken, um sicherzustellen, dass alles ordnungsgemäß funktioniert.Anschließend können Sie einen codierten Test ausführen, statt die Anwendung weiterhin manuell zu testen.Abhängig von den jeweiligen in der Anwendung getesteten Funktionen können Sie entweder Code für einen Funktions- oder einen Integrationstest schreiben und festlegen, ob Tests auf Benutzeroberflächenebene einbezogen werden.Wenn Sie einfach auf einen Teil der Geschäftslogik direkt zugreifen möchten, können Sie Code für einen Komponententest schreiben.Unter bestimmten Umständen, kann es jedoch nützlich sein, Tests der verschiedenen UI-Steuerelemente in die Anwendung einzubeziehen.Ein Test der codierten UI kann das ursprüngliche Szenario (F5) automatisieren und überprüfen, ob Codeänderungen die Funktionalität der Anwendung beeinflussen.
Das Erstellen eines Tests der codierten UI ist einfach.Sie führen den Test einfach manuell aus, während der CUIT-Test-Generator im Hintergrund ausgeführt wird.Sie können außerdem angeben, welche Werte in bestimmten Feldern angezeigt werden sollen.Der CUIT-Test-Generator zeichnet die Aktionen auf und generiert entsprechenden Code.Nach dem Erstellen des Tests können Sie diesen in einem spezialisierten Editor bearbeiten und die Sequenz der Aktionen ändern.
Alternativ können Sie aus einem Testfall, der in Microsoft Test Manager aufgezeichnet wurde, Code generieren.Weitere Informationen finden Sie unter Aufzeichnen und Wiedergeben von manuellen Tests.
Mit dem spezialisierten CUIT-Test-Generator und -Editor können Sie einfach Tests der codierten UI erstellen und bearbeiten, selbst wenn Ihr Hauptaugenmerk anstelle der Codierung auf Tests liegt.Wenn Sie jedoch Entwickler sind und den Test auf anspruchsvollere Weise erweitern möchten, bietet die einfache Struktur des Codes Möglichkeiten zum Kopieren und Anpassen.Sie können beispielsweise einen Test zu einem Kauf über eine Website aufzeichnen und den generierten Code anschließend bearbeiten, um eine Schleife zum Kaufen vieler Elemente hinzufügen.
Anforderungen
- Visual Studio Ultimate, Visual Studio Premium
Weitere Informationen zu den von Tests der codierten UI unterstützten Plattformen und Konfigurationen finden Sie unter Unterstützte Konfigurationen und Plattformen für Tests der codierten UI und Aktionsaufzeichnungen.
In diesem Thema
Erstellen von Tests der codierten UI
Main-Prozedur
Starten und Beenden der Anwendung
Überprüfen der Eigenschaften von UI-Steuerelementen
Anpassen des Tests der codierten UI
Der generierte Code
Codieren von UI-Steuerelement-Aktionen und -Eigenschaften
Debuggen
Weitere Informationen
Erstellen von Tests der codierten UI
Erstellen Sie ein Testprojekt für codierte UI.
Tests der codierten UI müssen in ein Testprojekt für codierte UI integriert sein.Erstellen Sie ein Testprojekt für codierte UI (sofern noch nicht vorhanden).Wählen Sie im Projektmappen-Explorer im Kontextmenü der Projektmappe Hinzufügen, Neues Projekt und anschließend entweder Visual Basic oder Visual C# aus.Wählen Sie dann Test, Test der codierten UI aus.
Die Projektvorlagen für Tests der codierten UI werden nicht angezeigt.
Möglicherweise verwenden Sie eine Version von Microsoft Visual Studio 2012, die Tests der codierten UI nicht unterstützt.Um Tests der codierten UI zu erstellen, müssen Sie entweder Visual Studio Ultimate oder Visual Studio Premium verwenden.
Fügen Sie eine Testdatei für codierte UI hinzu.
Wenn Sie gerade ein Testprojekt für codierte UI erstellt haben, wird die erste CUIT-Datei automatisch hinzugefügt.Öffnen Sie zum Hinzufügen einer weiteren Testdatei das Kontextmenü im Testprojekt für codierte UI, zeigen Sie auf Hinzufügen, und wählen Sie dann Test der codierten UI aus.
Wählen Sie im Dialogfeld Code für den Test der codierten UI generieren die Option Aktionen aufzeichnen, UI-Zuordnung bearbeiten oder Assertionen hinzufügen aus.
Der Test-Generator für codierte UI wird angezeigt und Visual Studio wird minimiert.
Zeichnen Sie eine Sequenz von Aktionen auf.
Wählen Sie zum Starten der Aufzeichnung das Aufzeichnungssymbol aus.Führen Sie die Aktionen durch, die in Ihrer Anwendung getestet werden sollen, einschließlich Starten der Anwendung (falls erforderlich).
Wenn Sie beispielsweise eine Webanwendung testen, müssen Sie möglicherweise einen Browser starten, zu einer Website navigieren und sich bei der Anwendung anmelden.
Wählen Sie beispielsweise bei eingehenden E-Mails zum Anhalten der Aufzeichnung die Option Anhalten aus.
Vorsicht Alle auf dem Desktop ausgeführten Aktionen werden aufgezeichnet.Halten Sie die Aufzeichnung an, wenn Sie Aktionen ausführen, bei denen sensible Daten in die Aufzeichnung gelangen könnten.
Wählen Sie zum Löschen von Aktionen, die Sie versehentlich aufgezeichnet haben, Aktionen bearbeiten aus.
Wählen Sie zum Generieren von Code, der Ihre Aktionen repliziert, das Code generieren-Symbol aus, und geben Sie einen Namen und eine Beschreibung für Ihre Testmethode für codierte UI ein.
Überprüfen Sie die Werte in Benutzeroberflächenfeldern wie z. B. Textfeldern.
Wählen Sie im Test-Generator für codierte UI Assertionen hinzufügen und anschließend in der ausgeführten Anwendung ein UI-Steuerelement aus.Wählen Sie in der angezeigten Eigenschaftenliste eine Eigenschaft, beispielsweise Text in einem Textfeld, aus.Wählen Sie im Kontextmenü Assertion hinzufügen aus.Wählen Sie im Dialogfeld den Vergleichsoperator, den Vergleichswert und die Fehlermeldung aus.
Schließen Sie das Assertionsfenster, und wählen Sie Code generieren aus.
Tipp Wechseln Sie zwischen dem Aufzeichnen von Aktionen und dem Überprüfen von Werten.Generieren Sie Code am Ende jeder Sequenz von Aktionen oder Überprüfungen.Wenn Sie möchten, können Sie auch zu einem späteren Zeitpunkt neue Aktionen und Überprüfungen einfügen.
Weitere Informationen finden Sie unter Überprüfen der Eigenschaften von Steuerelementen.
Zeigen Sie den generierten Testcode an.
Schließen Sie zum Anzeigen des generierten Codes das Fenster des Test-Generators für codierte UI.Im Code werden die Namen angezeigt, die Sie den einzelnen Schritten zugewiesen haben.Der Code befindet sich in der von Ihnen erstellten CUIT-Datei:
[CodedUITest] public class CodedUITest1 { ... [TestMethod] public void CodedUITestMethod1() { this.UIMap.AddTwoNumbers(); this.UIMap.VerifyResultValue(); // To generate more code for this test, select // "Generate Code" from the shortcut menu. } }
Fügen Sie weitere Aktionen und Assertionen hinzu.
Platzieren Sie den Cursor am entsprechenden Punkt in der Testmethode, und wählen Sie dann im Kontextmenü Code für den Test der codierten UI generieren aus.An dieser Stelle wird neuer Code eingefügt.
Bearbeiten Sie die Details der Testaktionen und Assertionen.
Öffnen Sie "UIMap.uitest".Diese Datei wird im Test-Editor für codierte UI geöffnet, in dem Sie jede aufgezeichnete Aktionsfolge sowie die Assertionen bearbeiten können.
Weitere Informationen finden Sie unter Bearbeiten von Tests der codierten UI mithilfe des Test-Editors für codierte UI.
Führen Sie den Test aus.
Verwenden Sie Test-Explorer, oder öffnen Sie das Kontextmenü in der Testmethode, und wählen Sie dann Tests ausführen aus.Weitere Informationen zum Ausführen von Tests finden Sie unter Ausführen von Komponententests mit dem Test-Explorer und Weitere Optionen zum Ausführen von Tests der codierten UI im Abschnitt Weitere Informationen? am Ende dieses Themas.
Die restlichen Abschnitten dieses Themas enthalten weitere Informationen über die Schritte in dieser Prozedur.
Ein ausführlicheres Beispiel finden Sie unter Exemplarische Vorgehensweise: Erstellen, Bearbeiten und Verwalten von Tests der codierten UI.In der exemplarischen Vorgehensweise erstellen Sie eine einfache WPF (Windows Presentation Foundation)-Anwendung, um das Erstellen, Bearbeiten und Verwalten eines Tests der codierten UI zu veranschaulichen.Die exemplarische Vorgehensweise umfasst Lösungen zum Korrigieren von Tests, die aufgrund verschiedener Probleme mit den Zeitabläufen und der Steuerelementumgestaltung nicht mehr funktionieren.
Starten und Beenden der getesteten Anwendung
Ich möchte meine Anwendung, meinen Browser oder meine Datenbank nicht für jeden Test separat starten und beenden.Wie kann ich dies vermeiden?
Wenn Sie die Aktionen zum Starten der getesteten Anwendung nicht aufzeichnen möchten, müssen Sie die Anwendung starten, bevor Sie das Aufzeichnungssymbol auswählen.
Am Ende eines Tests wird der Prozess beendet, in dem der Test ausgeführt wird.Wenn Sie die Anwendung im Test gestartet haben, wird die Anwendung normalerweise geschlossen.Wenn die Anwendung beim Beenden des Tests nicht geschlossen werden soll, müssen Sie der Projektmappe eine RUNSETTINGS-Datei hinzufügen und die KeepExecutorAliveAfterLegacyRun-Option verwenden.Weitere Informationen finden Sie unter Konfigurieren von Komponententests mithilfe einer .runsettings-Datei.
Sie können eine Testinitialisierungsmethode hinzufügen, die durch ein [TestInitialize]-Attribut gekennzeichnet ist, mit dem am Anfang jeder Testmethode Code ausgeführt wird.Sie können die Anwendung beispielsweise aus der TestInitialize-Methode starten.
Sie können eine Testbereinigungsmethode hinzufügen, die durch ein [TestCleanup]-Attribut gekennzeichnet ist, mit dem am Ende jeder Testmethode Code ausgeführt wird.Zum Beispiel kann die Methode zum Schließen der Anwendung mit der TestCleanup-Methode aufgerufen werden.
Die Eigenschaften der UI-Steuerelemente überprüfen
Mithilfe des Test-Generators für codierte UI können Sie der UIMap ein Benutzeroberflächensteuerelement (UI) für den Test hinzufügen oder Code für eine Validierungsmethode generieren, in der eine Assertion für ein UI-Steuerelement verwendet wird.
Wählen Sie zum Generieren von Assertionen für die UI-Steuerelemente im Test-Generator für codierte UI das Tool Assertionen hinzufügen aus, und ziehen es auf das Steuerelement der getesteten Anwendung, die Sie überprüfen möchten.Lassen Sie die Maustaste los, sobald das Feld das Steuerelement enthält.Der Code der Steuerelementklasse wird sofort in der Datei UIMap.Designer.cs erstellt.
Die Eigenschaften dieses Steuerelements werden jetzt im Dialogfeld Assertionen hinzufügen angezeigt.
Außerdem können Sie zu einem bestimmten Steuerelement navigieren, indem Sie den Pfeil (<<) auswählen und so die Ansicht für die UI-Steuerelementzuordnung erweitern.Wenn Sie nach einem übergeordneten, gleichgeordneten oder untergeordneten Steuerelement suchen möchten, können Sie an einer die oft ausgegebene Befehlszeilen Stelle auf die Zuordnung klicken und mit den Pfeiltasten durch die Struktur blättern.
Wenn ich in meiner Anwendung ein Steuerelement auswähle, werden keine Eigenschaften angezeigt, oder das Element wird nicht in der UI-Steuerelementzuordnung angezeigt.
Das zu überprüfende Steuerelement muss im Anwendungscode eine eindeutige ID aufweisen, z. B. ein HTML-ID-Attribut oder eine WPF-UId.Zum Hinzufügen dieser IDs müssen Sie möglicherweise den Anwendungscode aktualisieren.
Öffnen Sie als nächstes das Kontextmenü der Eigenschaft für das UI-Steuerelement, das Sie überprüfen möchten, und zeigen Sie dann auf Assertion hinzufügen.Wählen Sie im Dialogfeld Assertion hinzufügen den Vergleichsoperator für die Assertion aus, z. B. AreEqual, und geben Sie unter Vergleichswert den Wert für die Assertion ein.
Wenn Sie alle Assertionen für den Test hinzugefügt haben, wählen Sie OK aus.
Wählen Sie Code generieren aus, um den Code für die Assertionen zu generieren und der UI-Zuordnung das Steuerelement hinzuzufügen.Geben Sie einen Namen und eine Beschreibung für die Testmethode für codierte UI ein, die als Kommentare für die Methode hinzugefügt werden.Wählen Sie Hinzufügen und generieren aus.Wählen Sie danach zum Schließen des Test-Generators für codierte UI das Schließsymbol aus.Auf diese Weise wird Code generiert, der dem folgenden ähnelt.Lautet der eingegebene Name beispielsweise AssertForAddTwoNumbers, sieht der Code wie in diesem Beispiel aus:
Fügt der Testmethode in der Testdatei für codierte UI einen Aufruf der Assert-Methode AssertForAddTwoNumbers hinzu:
[TestMethod] public void CodedUITestMethod1() { this.UIMap.AddTwoNumbers(); this.UIMap.AssertForAddTwoNumbers(); }
Sie können diese Datei bearbeiten, um die Reihenfolge der Schritte und Assertionen zu ändern oder neue Testmethoden zu erstellen.Wenn Sie weiteren Code hinzufügen möchten, platzieren Sie den Cursor auf der Testmethode und wählen Sie im Kontextmenü Code für den Test der codierten UI generieren aus.
Fügt der UI-Zuordnung (UIMap.uitest) eine Methode mit dem Namen AssertForAddTwoNumbers hinzu.Diese Datei wird im Test-Editor für codierte UI geöffnet, in dem Sie die Assertionen bearbeiten können.
Weitere Informationen finden Sie unter Bearbeiten von Tests der codierten UI mithilfe des Test-Editors für codierte UI.
Sie können den generierten Code der Assertionsmethode auch in der Datei "UIMap.Designer.cs" anzeigen.Sie sollten diese Datei jedoch nicht bearbeiten.Wenn Sie eine angepasste Version des Codes erstellen möchten, kopieren Sie die Methoden in eine andere Datei, z. B. "UIMap.cs", benennen Sie die Methoden um, und ändern Sie sie dort.
public void AssertForAddTwoNumbers() { ... }
Das Steuerelement, das ich auswählen möchte, verliert den Fokus und wird nicht mehr angezeigt, wenn ich versuche, im Test-Generator für codierte UI das Tool "Assertionen hinzufügen" auszuwählen Wie wähle ich das Steuerelement aus?
Auswählen eines ausgeblendeten Steuerelements mit der Tastatur
Beim Hinzufügen von Steuerelementen und Überprüfen ihrer Eigenschaften muss manchmal die Tastatur verwendet werden.Wenn Sie beispielsweise versuchen, einen Test der codierten UI aufzuzeichnen, der ein Kontextmenü-Steuerelement verwendet, verliert die Liste der Menüelemente im Steuerelement den Fokus und wird nicht mehr angezeigt, wenn Sie versuchen, im Test-Generator für codierte UI das Tool "Assertionen hinzufügen" auszuwählen.Dieser Vorgang wird in der folgenden Abbildung veranschaulicht. Das Kontextmenü in Internet Explorer verliert den Fokus und wird nicht mehr angezeigt, wenn Sie versuchen, es mit dem Tool "Assertionen hinzufügen" auszuwählen.
Wenn Sie die Tastatur zum Auswählen eines Steuerelements verwenden möchten, zeigen Sie mit der Maus auf das Steuerelement.Halten Sie anschließend gleichzeitig die STRG-TASTE und die I-TASTE gedrückt.Lassen Sie die Tasten los.Das Steuerelement wird durch den Test-Generator für codierte UI aufgezeichnet.
Vorsicht Wenn Sie Microsoft Lync verwenden, müssen Sie Lync schließen, bevor Sie den Test-Generator für codierte UI starten.Microsoft Lync beeinträchtigt die Funktion der Tastenkombination STRG+I.
Ich kann eine Mauszeigerbewegung auf einem Steuerelement nicht aufzeichnen. Gibt es eine Methode zur Umgehung dieses Problems?
Manuelles Aufzeichnen von Mauszeigerbewegungen
Unter Umständen müssen Sie Mauszeiger-Bewegungsereignisse wegen eines bestimmten Steuerelements, das in einem Test der codierten UI verwendet wird, mithilfe der Tastatur manuell aufzuzeichnen.Wenn Sie beispielsweise eine Windows Form- oder eine WPF (Windows Presentation Foundation)-Anwendung testen, weist diese möglicherweise benutzerdefinierten Code auf.Möglicherweise ist auch ein spezielles Verhalten für die Mauszeigerbewegung über ein Steuerelement definiert, beispielsweise ein sich erweiternder Strukturknoten.Zum Testen von solchen Bedingungen müssen Sie den Test-Generator für codierte UI manuell benachrichtigen, wenn Sie auf das Steuerelement zeigen, indem Sie vordefinierte Tasten drücken.
Zeigen Sie beim Ausführen des Tests der codierten UI auf das Steuerelement.Halten Sie anschließend auf der Tastatur die STRG-TASTE und gleichzeitig die UMSCHALTTASTE und die R-TASTE gedrückt.Lassen Sie die Tasten los.Vom Test-Generator für codierte UI wird ein Mauszeiger-Bewegungsereignis aufgezeichnet.
Nach dem Generieren der Testmethode wird der Datei "UIMap.Desinger.cs" ähnlicher Code wie im folgenden Beispiel hinzugefügt:
// Mouse hover '1' label at (87, 9) Mouse.Hover(uIItem1Text, new Point(87, 9));
Die Tastenbelegung für das Erfassen von Mauszeiger-Bewegungsereignissen wird in meiner Umgebung an anderer Stelle verwendet. Kann ich die Standardtastenbelegung ändern?
Konfigurieren der Tastenbelegung für Mauszeigerbewegungen
Falls notwendig kann die Standardtastenbelegung für Mauszeiger-Bewegungsereignisse in Tests der codierten UI so konfiguriert werden, dass anstelle von STRG+UMSCHALT+R andere Tasten verwendet werden.
Vorsicht In der Regel sollte jedoch eine Änderung der Tastenbelegung für Mauszeiger-Bewegungsereignisse nicht notwendig sein.Seien Sie vorsichtig, wenn Sie die Tastaturbelegung neu zuweisen.Ihre Auswahl wird in Visual Studio oder der getesteten Anwendung möglicherweise schon an anderer Stelle verwendet.
Zum Ändern der Tastaturbelegung müssen Sie die folgende Konfigurationsdatei ändern:
<Laufwerkbuchstabe:>\Programme (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CodedUITestBuilder.exe.config
Ändern Sie in der Konfigurationsdatei die Werte für den HoverKeyModifier-Schlüssel und den HoverKey-Schlüssel, um die Tastenbelegung zu ändern:
<!-- Begin : Background Recorder Settings --> <!-- HoverKey to use. --> <add key="HoverKeyModifier" value="Control, Shift"/> <add key="HoverKey" value="R"/>
Beim Aufzeichnen von Mauszeigerbewegungen auf einer Website treten Probleme auf. Gibt es auch für dieses Problem eine Lösung?
Festlegen impliziter Mauszeigerbewegungen für den Webbrowser
Auf vielen Websites wird ein Steuerelement erweitert, wenn Sie auf es zeigen, und es werden weitere Details angezeigt.Im Allgemeinen entspricht dieses Verhalten Menüs in Desktopanwendungen.Da dies ein allgemeines Muster ist, werden in Tests der codierten UI implizite Bewegungen des Mauszeigers für Webbrowser aktiviert.Wenn Sie beispielsweise Mauszeigerbewegungen in Internet Explorer aufzeichnen, wird ein Ereignis ausgelöst.Diese Ereignisse können zur Aufzeichnung redundanter Mauszeigerbewegungen führen.Daher wird für das Aufzeichnen impliziter Mauszeigerbewegungen ContinueOnError in der UI-Testkonfigurationsdatei auf true festgelegt.Auf diese Weise kann die Wiedergabe fortgesetzt werden, wenn bei einem Mauszeiger-Bewegungsereignis ein Fehler auftritt.
Öffnen Sie zum Aktivieren der Aufzeichnung impliziter Mauszeigerbewegungen in einem Webbrowser die Konfigurationsdatei:
<Laufwerkbuchstabe:>\Programme (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CodedUITestBuilder.exe.config
Überprüfen Sie, ob der RecordImplicitiHovers-Schlüssel in der Konfigurationsdatei auf true festgelegt ist, wie im folgenden Beispiel dargestellt:
<!--Use this to enable/disable recording of implicit hovers.--> <add key="RecordImplicitHover" value="true"/>
Anpassen des Tests der codierten UI
Nachdem Sie den Test der codierten UI erstellt haben, können Sie diesen mithilfe eines der folgenden Tools in Visual Studio bearbeiten:
Test-Generator für codierte UI: Mithilfe des Test-Generators für codierte UI können Sie Ihren Tests zusätzliche Steuerelemente und Überprüfungen hinzufügen.Weitere Informationen finden Sie in diesem Thema im Abschnitt Hinzufügen von Steuerelementen und Überprüfen ihrer Eigenschaften.
Test-Editor für codierte UI: Mit dem Test-Editor für codierte UI können Sie Tests der codierten UI mühelos ändern.Er ermöglicht das Suchen, Anzeigen und Bearbeiten der Testmethoden.Sie können auch UI-Aktionen und die zugehörigen Steuerelemente in der UI-Steuerelementzuordnung bearbeiten.Weitere Informationen finden Sie unter Bearbeiten von Tests der codierten UI mithilfe des Test-Editors für codierte UI.
Code-Editor:
Fügen Sie manuell Code für die Steuerelemente im Test hinzu, wie im Abschnitt Codieren von UI-Steuerelement-Aktionen und -Eigenschaften in diesem Thema beschrieben.
Nachdem Sie einen Test der codierten UI erstellt haben, können Sie ihn in einen datengesteuerten Test ändern.Weitere Informationen finden Sie unter Erstellen eines datengesteuerten, codierten UI-Test.
Sie können bei der Wiedergabe eines Tests der codierten UI festlegen, dass bei einem Test auf bestimmte Ereignisse gewartet werden soll, z. B. auf das Anzeigen eines Fensters, das Ausblenden einer Statusanzeige usw.Fügen Sie hierzu die entsprechende UITestControl.WaitForControlXXX()-Methode hinzu.Eine vollständige Liste der verfügbaren Methoden finden Sie unter Making Coded UI Tests Wait For Specific Events During Playback.Ein Beispiel für einen Test der codierten UI, bei dem ein Steuerelement auf die Aktivierung mit der WaitForControlEnabled-Methode wartet, finden Sie unter Exemplarische Vorgehensweise: Erstellen, Bearbeiten und Verwalten von Tests der codierten UI.
Bei Tests der codierten UI werden einige HTML5-Steuerelemente unterstützt, die in Internet Explorer 9 und in Internet Explorer 10 enthalten sind.Weitere Informationen finden Sie unter Verwenden von HTML5-Steuerelementen in Tests der codierten UI.
Codierungsleitfaden für Tests der codierten UI:
Der generierte Code
Wenn Sie Code generieren auswählen, werden mehrere Codeelemente erstellt:
Eine Zeile in der Testmethode.
[CodedUITest] public class CodedUITest1 { ... [TestMethod] public void CodedUITestMethod1() { this.UIMap.AddTwoNumbers(); // To generate more code for this test, select // "Generate Code" from the shortcut menu. } }
Mit einem Rechtsklick können Sie in dieser Methode weitere aufgezeichnete Aktionen und Überprüfungen hinzuzufügen.Sie können diese auch manuell bearbeiten, um den Code zu erweitern oder zu ändern.Sie können beispielsweise einen Teil des Codes in einer Schleife einschließen.
Außerdem können Sie neue Testmethoden und auf die gleiche Weise auch Code hinzufügen.Jede Testmethode muss das [TestMethod]-Attribut aufweisen.
Eine Methode in "UIMap.uitest"
Diese Methode enthält die Details der aufgezeichneten Aktionen oder den überprüften Wert.Sie können diesen Code bearbeiten, indem Sie "UIMap.uitest" öffnen.Die Datei wird in einem spezialisierten Editor geöffnet, in dem Sie die aufgezeichneten Aktionen löschen oder umgestalten können.
Außerdem können Sie die generierte Methode in der Datei "UIMap.Designer.cs" anzeigen.Mit dieser Methode werden die Aktionen ausgeführt, die Sie bei Ausführung des Tests aufgezeichnet haben.
// File: UIMap.Designer.cs public partial class UIMap { /// <summary> /// Add two numbers /// </summary> public void AddTwoNumbers() { ... } }
Vorsicht Sie sollten diese Datei nicht bearbeiten, da sie beim Erstellen weiterer Tests neu generiert wird.
Sie können angepasste Versionen dieser Methoden erstellen, indem Sie sie in "UIMap.cs" kopieren.Beispielsweise können Sie eine parametrisierte Version erstellen, die Sie über eine Testmethode aufrufen können:
// File: UIMap.cs public partial class UIMap // Same partial class { /// <summary> /// Add two numbers – parameterized version /// </summary> public void AddTwoNumbers(int firstNumber, int secondNumber) { ... // Code modified to use parameters. } }
Deklarationen in "UIMap.uitest"
Diese Deklarationen stellen die UI-Steuerelemente der Anwendung dar, die von dem Test verwendet werden.Sie werden durch den generierten Code verwendet, um die Steuerelemente zu verarbeiten und auf deren Eigenschaften zuzugreifen.
Sie können sie auch verwenden, um eigenen Code zu schreiben.Geben Sie beispielsweise an, dass die Testmethode einen Link in einer Webanwendung auswählen, einen Wert in ein Textfeld eingeben oder eine Verzweigung erzeugen und basierend auf dem Wert eines Felds andere Testaktionen ausführen soll.
Sie können mehrere Tests der codierten UI und mehrere UI-Zuordnungsobjekte und -dateien hinzufügen, um das Testen einer großen Anwendung zu vereinfachen.Weitere Informationen finden Sie unter Testing a Large Application with Multiple UI Maps.
Weitere Informationen zum generierten Code finden Sie unter Anatomy of a Coded UI Test.
Codieren von UI-Steuerelement-Aktionen und -Eigenschaften
Wenn Sie mit UI-Steuerelementen in Tests der codierten UI arbeiten, sind diese in zwei Bereiche getrennt: Aktionen und Eigenschaften.
Der erste Bereich besteht aus Aktionen, die Sie für UI-Steuerelemente ausführen können.So können Tests der codierten UI beispielsweise Mausklicks auf ein UI-Teststeuerelement oder Tasteneingaben auf der Tastatur simulieren, die sich auf ein UI-Teststeuerelement auswirken.
Im zweiten Bereich wird es Ihnen ermöglicht, Eigenschaften aus einem UI-Teststeuerelement abzurufen und für dieses festzulegen.Zum Beispiel kann bei Tests der codierten UI die Anzahl der Elemente in einem ListBox abgerufen oder ein CheckBox für den ausgewählten Zustand aktiviert werden.
Zugreifen auf Aktionen von UI-Teststeuerelementen
Verwenden Sie zum Ausführen von Aktionen für UI-Teststeuerelemente, z. B. Mausklicks oder Tastaturaktionen, die Methoden in der Mouse-Klasse und in der Keyboard-Klasse:
Um eine mausorientierte Aktion, z. B. einen Mausklick, für ein UI-Teststeuerelement auszuführen, verwenden Sie Click.
Mouse.Click(buttonCancel);
Um eine tastaturorientierte Aktion, z. B. die Eingabe in ein Bearbeitungssteuerelement über die Tastatur, auszuführen, verwenden Sie SendKeys.
Keyboard.SendKeys(textBoxDestination, @"C:\\Temp\\Output.txt");
Zugreifen auf Eigenschaften von UI-Teststeuerelementen
Um für UI-Steuerelemente bestimmte Eigenschaftswerte abzurufen und festzulegen, können Sie die Werte und Eigenschaften eines Steuerelements direkt abrufen und festlegen, oder Sie können die UITestControl.GetProperty-Methode und die UITestControl.SetProperty-Methode mit dem Namen der speziellen Eigenschaft verwenden, die Sie Sie abrufen oder festlegen möchten.
GetProperty gibt ein Objekt zurück, das anschließend in das entsprechende Type-Objekt umgewandelt werden kann.SetProperty akzeptiert ein Objekt für den Wert der Eigenschaft.
So rufen Sie Eigenschaften von UI-Teststeuerelementen ab oder legen sie fest
Mit Steuerelementen, die von T:Microsoft.VisualStudio.TestTools.UITesting.UITestControl abgeleitet werden, z. B. T:Microsoft.VisualStudio.TestTools.UITesting.HtmlControls.HtmlList oder T:Microsoft.VisualStudio.TestTools.UITesting.WinControls.WinComboBox, können Sie deren Eigenschaftswerte direkt wie folgt abrufen oder festlegen:
int i = myHtmlList.ItemCount; myWinCheckBox.Checked = true;
So rufen Sie Eigenschaften aus UI-Teststeuerelementen ab
Um einen Eigenschaftswert von einem Steuerelement abzurufen, verwenden Sie GetProperty.
Um die Eigenschaft des abzurufenden Steuerelements anzugeben, verwenden Sie die entsprechende Zeichenfolge aus der PropertyNames-Klasse in jedem Steuerelement als Parameter für GetProperty.
GetProperty gibt den entsprechenden Datentyp zurück, aber dieser Rückgabewert wird in ein Object umgewandelt.Das zurückgegebene Object muss dann in den entsprechenden Typ umgewandelt werden.
Beispiel:
int i = (int)GetProperty(myHtmlList.PropertyNames.ItemCount);
So legen Sie Eigenschaften für UI-Teststeuerelemente fest
Zum Festlegen einer Eigenschaft in einem Steuerelement verwenden Sie SetProperty.
Um die Eigenschaft des festzulegenden Steuerelements anzugeben, verwenden Sie die entsprechende Zeichenfolge aus der PropertyNames-Klasse als ersten Parameter für SetProperty, wobei der Eigenschaftswert als zweiter Parameter fungiert.
Beispiel:
SetProperty(myWinCheckBox.PropertyNames.Checked, true);
Debuggen
Sie können Tests der codierten UI mithilfe von Testprotokollen für codierte UI analysieren.Testprotokolle für codierte UI filtern wichtige Informationen zum ausgeführten Test der codierten UI und zeichnen diese auf.Durch das Format der Protokolle können Sie Probleme schnell debuggen.Weitere Informationen finden Sie unter Analysieren von Tests der codierten UI mithilfe der Testprotokolle für codierte UI.
Weitere Informationen?
Zusätzliche Optionen zum Ausführen von Tests der codierten UI: Sie können Tests der codierten UI direkt in Visual Studio ausführen, wie weiter oben in diesem Thema beschrieben.Außerdem können Sie automatisierte UI-Tests von Microsoft Test-Manager oder Team Foundation Build ausführen.Wenn Tests der codierten UI automatisiert werden, müssen sie im Gegensatz zu anderen automatisierten Tests bei der Ausführung mit dem Desktop interagieren.
Ausführen von automatisierten Tests mit Microsoft Test Manager
Gewusst wie: Konfigurieren und Ausführen von geplanten Tests nach dem Erstellen der Anwendung
How to: Set Up Your Test Agent to Run Tests that Interact with the Desktop
[veraltet] Verwenden von Tests der codierten UI in Auslastungstests
Hinzufügen der Unterstützung für benutzerdefinierte Steuerelemente: Das Framework für den Test der codierten UI unterstützt nicht alle Benutzeroberflächen und bietet möglicherweise keine Unterstützung für die Benutzeroberfläche, die Sie testen möchten.Zum Beispiel können Sie nicht sofort einen Test der codierten UI für die Benutzeroberfläche von Microsoft Excel erstellen.Sie können jedoch eine Erweiterung für das Framework für den Test der codierten UI erstellen, die ein benutzerdefiniertes Steuerelement unterstützt.
Tests der codierten UI werden häufig verwendet, um manuelle Tests zu automatisieren.Weitere Anleitung finden Sie in Tests für fortlaufende Übermittlung mit Visual Studio 2012 – Kapitel 5: Automating System Tests.Weitere Informationen zu manuellen Tests finden Sie unter [veraltet] Erstellen von manuellen Testfällen mit Microsoft Test Manager.Weitere Informationen zu automatisierten Systemtests finden Sie unter Erstellen von automatisierten Tests mit Microsoft Test Manager.
Externe Ressourcen
Empfehlungen
Tests für fortlaufende Übermittlung mit Visual Studio 2012 – Kapitel 5: Automating System Tests
FAQ
Forum
Tests der Benutzeroberflächenautomatisierung (einschließlich CodedUI) in Visual Studio
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Erstellen, Bearbeiten und Verwalten von Tests der codierten UI
Referenz
Konzepte
Qualitätsverbesserung mit Visual Studio-Diagnosetools
Empfohlene Vorgehensweisen für Tests der codierten UI
Testing a Large Application with Multiple UI Maps
Unterstützte Konfigurationen und Plattformen für Tests der codierten UI und Aktionsaufzeichnungen
Upgrade der Tests der codierten UI von Visual Studio 2010
Weitere Ressourcen
Bearbeiten von Tests der codierten UI mithilfe des Test-Editors für codierte UI
Gewusst wie: Generieren eines Tests der codierten UI aus einer vorhandenen Aktionsaufzeichnung