Testen Ihres Codes mit den Tests der programmierten UI
Gilt für:Visual Studio
Visual Studio für Mac
Visual Studio Code
Die Anwendung wird mit Tests der programmierten UI (Coded UI Tests, CUITs) über die Benutzeroberfläche (User Interface, UI) gesteuert. 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 programmierten UI unterstützen Sie bei der Überprüfung oder einer anderen Logik der Benutzeroberfläche, beispielsweise einer Webseite. Außerdem werden sie häufig zum Automatisieren eines vorhandenen manuellen Tests verwendet.
Tests der programmierten UI in Visual Studio können ganz einfach erstellt werden. Sie können den Test einfach manuell durchführen, während der Generator für Tests der programmierten UI im Hintergrund ausgeführt wird. Sie können außerdem angeben, welche Werte in bestimmten Feldern angezeigt werden sollen. Der Generator für Tests der programmierten UI zeichnet Ihre 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.
Mit dem spezialisierten Generator für Tests der programmierten UI und Editor können Sie einfach Tests der programmierten 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.
Hinweis
Tests der programmierten UI für automatisierte, über die Benutzeroberfläche gesteuerte Funktionstests sind veraltet. Visual Studio 2019 ist die letzte Version, in der Tests der programmierten UI vollständig verfügbar sein werden. Es wird empfohlen, dass Sie Playwright für das Testen von Web-Apps und Appium mit WinAppDriver für das Testen von Desktop- und UWP-Apps verwenden. Verwenden Sie Xamarin.UITest zum Testen von iOS- und Android-Apps mit dem NUnit-Testframework. Um die Auswirkungen auf die Benutzer zu reduzieren, wird in Visual Studio 2022 noch mindestens ein Minimum an Support verfügbar sein. In Visual Studio 2022 können Benutzer vorhandene CodedUI-Tests ausführen, aber keine neuen Tests aufzeichnen, da der Coded UI-Test-Editor nicht verfügbar ist.
Anforderungen
Visual Studio Enterprise 2019.
Komponente „Test der programmierten UI“
Hinweis
- Visual Studio 2019 ist die letzte Version, die die Testerstellung über die Aufzeichnung bereitstellt. In Visual Studio 2022 ist nur die grundlegende Mindestunterstützung für Tests der programmierten UI verfügbar.
Weitere Informationen dazu, welche Plattformen und Konfigurationen von den Tests der programmierten UI unterstützt werden, finden Sie unter Unterstützte Plattformen.
Installieren der Komponente für Tests der programmierten UI
Installieren Sie die Komponente Test der programmierten UI von Visual Studio, um Zugriff auf Tools und Vorlagen für Tests der programmierten UI zu erhalten.
Starten Sie den Visual Studio-Installer, indem Sie Tools>Tools und Features abrufen wählen.
Wählen Sie im Visual Studio-Installer die Registerkarte Einzelne Komponenten aus, und scrollen Sie nach unten zum Abschnitt Debuggen und Testen. Wählen Sie die Komponente Test der programmierten UI aus.
Klicken Sie auf Ändern.
Erstellen eines Tests der programmierten UI
Erstellen Sie ein Projekt für den Test der programmierten UI.
Tests der programmierten UI müssen in ein Testprojekt für programmierte UI integriert sein. Erstellen Sie ein Testprojekt der programmierten UI (sofern noch nicht vorhanden). Klicken Sie auf Datei>Neu>Projekt. Suchen Sie die Projektvorlage Testprojekt der programmierten UI, und wählen Sie sie aus.
Hinweis
Wenn Ihnen die Vorlage Test der programmierten UI nicht angezeigt wird, müssen Sie die Komponente Test der programmierten UI installieren.
Fügen Sie eine Testdatei für programmierte 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 Projektmappen-Explorer im Testprojekt für programmierte UI, und wählen Sie dann Hinzufügen>Test der programmierten UI aus.
Wählen Sie im Dialogfeld Code für den Test der programmierten UI generieren die Option Aktionen aufzeichnen>UI-Zuordnung bearbeiten oder Assertionen hinzufügen aus.
Der Coded UI-Test-Generator wird angezeigt.
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.
Warnung
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, Schritte bearbeiten aus.
Wählen Sie zum Generieren von Code, der Ihre Aktionen repliziert, das Symbol Code generieren aus, und geben Sie einen Namen und eine Beschreibung für Ihre Testmethode für programmierte UI ein.
Überprüfen Sie die Werte in Benutzeroberflächenfeldern wie z. B. Textfeldern.
Wählen Sie im Coded UI-Test-Generator die Option 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 UI-Steuerelementen.
Zeigen Sie den generierten Testcode an.
Schließen Sie zum Anzeigen des generierten Codes das Fenster des Coded UI-Test-Generators. 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 im Kontextmenü Code für den Test der programmierten 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 Editor für Tests der programmierten UI geöffnet, in dem Sie jede aufgezeichnete Aktionsfolge sowie die Assertionen bearbeiten können.
Weitere Informationen finden Sie unter Bearbeiten von Tests der programmierten UI mithilfe des Editors für Tests der programmierten UI.
Führen Sie den Test aus.
Verwenden Sie Test-Explorer, oder öffnen Sie das Kontextmenü in der Testmethode, und wählen Sie 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 programmierten UI im Abschnitt Ausblick 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 eines Tests der programmierten Benutzeroberfläche. In der exemplarischen Vorgehensweise erstellen Sie eine einfache WPF (Windows Presentation Foundation)-Anwendung, um das Erstellen, Bearbeiten und Verwalten eines Tests der programmierten UI zu veranschaulichen. Die exemplarische Vorgehensweise umfasst Lösungen zum Korrigieren von Tests, die aufgrund verschiedener Probleme mit den Zeitabläufen und des Steuerelementrefactorings nicht mehr funktionieren.
Starten und Beenden der getesteten Anwendung
Wenn Sie die Anwendung, den Browser oder die Datenbank nicht für jeden Test separat starten und beenden möchten, befolgen Sie eine der folgenden Anweisungen:
Wenn Sie die Aktionen zum Starten der getesteten Anwendung nicht aufzeichnen möchten, müssen Sie die Anwendung starten, bevor Sie auf das Aufzeichnungssymbol klicken.
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, fügen Sie der Projektmappe eine RUNSETTINGS-Datei hinzu und verwenden die
KeepExecutorAliveAfterLegacyRun
-Option. Weitere Informationen hierzu finden Sie unter Konfigurieren von Komponententests mithilfe einer RUNSETTINGS-Datei.Fügen Sie eine Testinitialisierungsmethode hinzu, 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.Fügen Sie eine Testbereinigungsmethode hinzu, 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.
Überprüfen der Eigenschaften von Steuerelementen der Benutzeroberfläche
Mithilfe des Generators für den Test der programmierten UI können Sie der UIMap-Klasse für den Test ein Steuerelement für die Benutzeroberfläche (UI) 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 Coded UI-Test-Generator das Tool Assertionen hinzufügen aus, und ziehen Sie 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 Benutzeroberflächen-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.
Tipp
Wenn beim Auswählen eines Steuerelements in Ihrer Anwendung keine Eigenschaften oder keine Steuerelemente in der UI-Steuerelementzuordnung angezeigt werden, stellen Sie sicher, dass das Steuerelement im Anwendungscode über eine eindeutige ID verfügt. Diese eindeutige ID kann ein HTML-ID-Attribut oder eine WPF-UID sein.
Ö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 der programmierten 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 Generators für Tests der programmierten UI das Symbol Schließen 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 programmierte 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 programmierten UI generieren aus.
Fügt der UI-Zuordnung (UIMap.uitest) eine Methode mit dem Namen
AssertForAddTwoNumbers
hinzu. Diese Datei wird im Editor für Tests der programmierten UI geöffnet, in dem Sie die Assertionen bearbeiten können.Weitere Informationen finden Sie unter Bearbeiten von Tests der programmierten UI mithilfe des Editors für Tests der programmierten 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() { ... }
Auswählen eines ausgeblendeten Steuerelements mit der Tastatur
Vorgehensweise, wenn das Steuerelement den Fokus verliert und nicht mehr angezeigt wird, wenn Sie das Tool Assertionen hinzufügen über den Coded UI-Test-Generator auswählen:
Beim Hinzufügen von Steuerelementen und Überprüfen ihrer Eigenschaften müssen Sie manchmal die Tastatur verwenden. Wenn Sie beispielsweise versuchen, einen Test der programmierten UI aufzuzeichnen, der ein Kontextmenüsteuerelement verwendet, verliert die Liste der Menüelemente im Steuerelement den Fokus. Es wird dann nicht mehr angezeigt, wenn Sie versuchen, im Coded UI-Test-Generator 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 Add Assertions (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 Coded UI-Test-Generator aufgezeichnet.
Manuelles Aufzeichnen von Mauszeigerbewegungen
Vorgehensweise, wenn Sie die Mauszeigerbewegung auf einem Steuerelement nicht aufzeichnen können:
Unter Umständen müssen Sie Mauszeiger-Bewegungsereignisse wegen eines bestimmten Steuerelements, das in einem Test der programmierten UI verwendet wird, mithilfe der Tastatur manuell aufzeichnen. 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 Coded UI-Test-Generator manuell benachrichtigen, wann Sie mit dem Mauszeiger auf das Steuerelement zeigen, indem Sie vordefinierte Tasten drücken.
Zeigen Sie beim Ausführen des Tests der programmierten UI auf das Steuerelement. Halten Sie anschließend auf der Tastatur gleichzeitig die Tasten STRG, UMSCHALTTASTE und R gedrückt. Lassen Sie die Tasten los. Vom Coded UI-Test-Generator 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));
Konfigurieren der Tastenbelegungen für Mauszeigerbewegungen
Vorgehensweise, wenn die Tastenbelegung für das Erfassen von Mauszeiger-Bewegungsereignissen in Ihrer Umgebung an anderer Stelle verwendet wird:
Bei Bedarf können Sie die Standardtastenbelegung für Mauszeiger-Bewegungsereignisse in Tests der programmierten UI so konfigurieren, dass anstelle von STRG+SHIFT+R andere Tasten verwendet werden.
Warnung
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:
%Programme (x86)%\Microsoft Visual Studio\2017\Enterprise\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"/>
Festlegen impliziter Mauszeigerbewegungen für den Webbrowser
Vorgehensweise, wenn beim Aufzeichnen von Mauszeigerbewegungen Probleme auftreten:
Auf vielen Websites wird ein Steuerelement erweitert, wenn Sie darauf 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 programmierten 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:
%Programme (x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CodedUITestBuilder.exe.config
Überprüfen Sie, ob der RecordImplicitiHovers
-Schlüssel in der Konfigurationsdatei wie im folgenden Beispiel auf true
festgelegt ist:
<!--Use this to enable/disable recording of implicit hovers.-->
<add key="RecordImplicitHover" value="true"/>
Anpassen von Tests der programmierten UI
Nachdem Sie den Test der programmierten UI erstellt haben, können Sie diesen mithilfe eines der folgenden Tools in Visual Studio bearbeiten:
Mithilfe des Generators für Tests der programmierten 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.
Mit dem Editor für Tests der programmierten UI können Sie Tests der programmierten UI mühelos ändern. Der Editor für Tests der programmierten UI 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 programmierten UI mithilfe des Editors für Tests der programmierten UI.
Code-Editor:
Fügen Sie manuell Code für die Steuerelemente im Test hinzu, wie im Abschnitt Aktionen und Eigenschaften des Steuerelements der programmierten Benutzeroberfläche in diesem Thema beschrieben.
Nachdem Sie einen Test der programmierten UI erstellt haben, können Sie ihn in einen datengesteuerten Test ändern. Weitere Informationen finden Sie unter Erstellen eines datengesteuerten Tests der programmierten UI.
Sie können bei der Wiedergabe eines Tests der programmierten 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 Festlegen, dass bei Wiedergabe von Tests der programmierten UI auf bestimmte Ereignisse gewartet wird. Ein Beispiel für einen Test der programmierten UI, bei dem ein Steuerelement auf die Aktivierung mit der WaitForControlEnabled-Methode wartet, finden Sie unter Exemplarische Vorgehensweise: Erstellen, Bearbeiten und Verwalten eines Tests der programmierten UI.
Bei Tests der programmierten 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 programmierten 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 hinzufü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 eine 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() { ... } }
Warnung
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 programmierten UI und mehrere UI-Zuordnungsobjekte und -dateien hinzufügen, um das Testen einer großen Anwendung zu vereinfachen. Weitere Informationen finden Sie unter Testen einer großen Anwendung mit mehreren UI-Zuordnungen.
Weitere Informationen über den generierten Code finden Sie unter Aufbau eines Tests der programmierten UI.
Aktionen und Eigenschaften des Steuerelements der programmieren Benutzeroberfläche
Wenn Sie mit UI-Steuerelementen in Tests der programmierten 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 programmierten 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 programmierten UI die Anzahl der Elemente in einem
ListBox
abgerufen oder einCheckBox
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 Benutzeroberflächem-Steuerelemente bestimmte Eigenschaftswerte abzurufen und festzulegen, können Sie die Werte und Eigenschaften eines Steuerelements direkt abrufen und festlegen, oder Sie können die Microsoft.VisualStudio.TestTools.UITesting.UITestControl.GetProperty-Methode und die Microsoft.VisualStudio.TestTools.UITesting.UITestControl.SetProperty-Methode mit dem Namen der speziellen Eigenschaft verwenden, die 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 können Sie Eigenschaften von UI-Teststeuerelementen direkt abrufen oder festlegen
Mit Steuerelementen, die von UITestControl abgeleitet werden (z.B. HtmlList oder WinComboBox), können Sie die jeweiligen Eigenschaftswerte direkt abrufen oder festlegen. Der folgende Code zeigt einige Beispiele:
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);
Debug
Sie können Tests der programmierten UI mithilfe von Testprotokollen der programmierten UI analysieren. Testprotokolle für programmierte UI filtern wichtige Informationen zum ausgeführten Test der programmierten 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 programmierten UI mithilfe der Testprotokolle der programmierten UI.
Ausblick
Weitere Optionen zum Ausführen von Tests der programmierten UI: Sie können Tests der programmierten UI wie bereits beschrieben direkt in Visual Studio ausführen. Außerdem können Sie automatisierte Benutzeroberflächentests mit Azure Pipelines ausführen. Wenn Tests der programmierten UI automatisiert werden, müssen sie im Gegensatz zu anderen automatisierten Tests bei der Ausführung mit dem Desktop interagieren.
Hinzufügen der Unterstützung für benutzerdefinierte Steuerelemente: Das Framework für den Test der programmierten 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 programmierten UI für Microsoft Excel erstellen. Sie können jedoch eine Erweiterung für das Framework für den Test der programmierten UI erstellen, die ein benutzerdefiniertes Steuerelement unterstützt.
Aktivieren von Tests der programmierten UI Ihrer Steuerelemente
Erweitern von Tests der programmierten UI und Aktionsaufzeichnungen
Tests der programmierten UI werden häufig verwendet, um manuelle Tests zu automatisieren. Weitere Informationen zu automatisierten Tests finden Sie unter Testtools in Visual Studio.
Siehe auch
- Record and play back manual tests (Aufzeichnen und Wiedergeben von manuellen Tests)
- Xamarin.UITest
- Assert
- Exemplarische Vorgehensweise: Erstellen, Bearbeiten und Verwalten eines Tests der programmierten UI
- Erstellen eines Tests der programmierten UI zum Testen einer UWP-App
- Aufbau eines Tests der programmierten UI
- Bewährte Methoden für Tests der programmierten UI
- Testen einer großen Anwendung mit mehreren UI-Zuordnungen