Share via


Empfohlene Vorgehensweisen für Tests der codierten UI

In diesem Thema werden die bewährten Methoden zum Entwickeln von Tests der codierten UI beschrieben.

Voraussetzungen

  • Visual Studio Ultimate, Visual Studio Premium

Bewährte Methoden

Erstellen Sie mithilfe der folgenden Richtlinien einen flexiblen Test der codierten UI.

  • Verwenden Sie nach Möglichkeit immer den Test-Generator für codierte UI.

  • Bearbeiten Sie die Datei UIMap.designer.cs nicht direkt.Wenn Sie dies tun, werden die Änderungen an der Datei überschrieben.

  • Erstellen Sie den Test als Sequenz aufgezeichneter Methoden.Weitere Informationen darüber, wie eine Methode, finden Sie unter Erstellen von Tests der codierten UI.

  • Jede aufgezeichnete Methode sollte auf eine einzelne Seite, ein Formular oder ein Dialogfeld wirken.Erstellen Sie eine neue Testmethode für jede neue Seite, jedes Formular und jedes Dialogfeld.

  • Verwenden Sie bei der Erstellung einer Methode statt des Standardnamens einen sinnvollen Methodennamen.Bei einem aussagekräftigen Namen kann der Zweck der Methode leichter identifiziert werden.

  • Beschränken Sie jede aufgezeichnete Methode nach Möglichkeit auf weniger als zehn Aktionen.Dank des modularen Ansatzes kann eine Methode leichter ersetzt werden, wenn sich die Benutzeroberfläche ändert.

  • Erstellen Sie jede Assertion mithilfe des Test-Generators für codierte UI, das der Datei UIMap.Designer.cs automatisch eine Assertionsmethode hinzufügt.

  • Wenn sich die Benutzeroberfläche ändert, zeichnen Sie die Test- oder Assertionsmethoden erneut auf, oder zeichnen Sie die betroffenen Abschnitte einer vorhandenen Testmethode erneut auf.

  • Erstellen Sie eine separate UIMap-Datei für jedes Modul in der zu testenden Anwendung.Weitere Informationen finden Sie unter Testing a Large Application with Multiple UI Maps.

  • Verwenden Sie in der zu testenden Anwendung aussagekräftige Namen, wenn Sie die Steuerelemente für die Benutzeroberfläche erstellen.So steigern Sie die Aussagekraft und die Benutzerfreundlichkeit der automatisch generierten Steuerelementnamen.

  • Wenn Sie Assertions erstellen, indem Sie mit der API Code erstellen, erstellen Sie eine Methode für jede Assertion in dem Teil der UIMap-Klasse, die in der Datei UIMap.cs ist.Rufen Sie diese Methode in der Testmethode auf, um die Assertion auszuführen.

  • Wenn Sie direkt mit der API Code erstellen, verwenden Sie nach Möglichkeit die Eigenschaften und Methoden in den Klassen, die in der Datei UIMap.Designer.cs in Ihrem Code generiert werden.Durch diese Klassen wird Ihre Arbeit leichter und zuverlässiger, und Sie können produktiver zu sein.

Tests der codierten UI werden automatisch an viele Änderungen der Benutzeroberfläche angepasst.Wenn z. B. die Position oder Farbe eines Benutzeroberflächenelements geändert wurde, findet der Test der codierten UI in den meisten Fällen dennoch das richtige Steuerelement.

Während eines Testlaufs findet das Testframework die UI-Steuerelemente mithilfe eines Satzes von Sucheigenschaften, die in den Definitionen für jede Steuerelementklasse übernommen werden. Diese werden vom Test-Generator für codierte UI in der Datei UIMap.Designer.cs erstellt.Die Sucheigenschaften enthalten Name-Wert-Paare von Eigenschaftennamen und Eigenschaftswerten, die verwendet werden können, um das Steuerelement zu identifizieren, z. B. die Eigenschaften FriendlyName, Name und ControlType des Steuerelements.Wenn die Sucheigenschaften unverändert sind, wird das Steuerelement vom Test der codierten UI in der Benutzeroberfläche gefunden.Wenn die Sucheigenschaften geändert wurden, verfügen die Tests der codierten UI über einen intelligenten Übereinstimmungsalgorithmus, der zum Suchen von Steuerelementen und Fenstern in der Benutzeroberfläche Heuristik anwendet.Wenn sich die Benutzeroberfläche geändert hat, können Sie möglicherweise durch Ändern der Sucheigenschaften von zuvor identifizierten Elementen sicherstellen, dass sie gefunden werden.

Vorgehensweise bei geänderter Benutzeroberfläche

Benutzeroberflächen werden während der Entwicklung häufig geändert.Es gibt folgende Möglichkeiten, um die Auswirkungen dieser Änderungen zu verringern:

  • Suchen Sie die aufgezeichnete Methode, die auf das Steuerelement verweist, und zeichnen Sie mit dem Test-Generator für codierte UI die Aktionen für die Methode erneut auf.Sie können den gleichen Namen für die Methode verwenden, sodass die vorhandenen Aktionen überschrieben werden.

  • Wenn ein Steuerelement über eine Assertion verfügt, die nicht mehr gültig ist:

    • Löschen Sie die Methode, die die Assertion enthält.

    • Entfernen Sie den Aufruf der Methode aus der Testmethode.

    • Fügen Sie eine neue Assertion hinzu, indem Sie die Fadenkreuzschaltfläche auf das UI-Steuerelement ziehen, die UI-Zuordnung öffnen und die neue Assertion hinzufügen.

Weitere Informationen dazu, wie Tests der codierten UI, finden Sie unter Überprüfen von Code mithilfe der Benutzeroberflächenautomatisierung.

Vorgehensweise, wenn ein Hintergrundprozess abgeschlossen werden muss, bevor der Test fortgesetzt werden kann

Möglicherweise müssen Sie waren, bis ein Prozess beendet wird, bevor Sie mit der nächsten Benutzeroberflächen-Aktion fortfahren können.Verwenden Sie hierzu WaitForReadyLevel, um zu warten, bevor der Test fortgesetzt wird (siehe folgendes Beispiel).

// Set the playback to wait for all threads to finish
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;

// Press the submit button
this.UIMap.ClickSubmit();

// Reset the playback to wait only for the UI thread to finish
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;

Siehe auch

Referenz

UIMap

Microsoft.VisualStudio.TestTools.UITesting

Konzepte

Überprüfen von Code mithilfe der Benutzeroberflächenautomatisierung

Testing a Large Application with Multiple UI Maps

Unterstützte Konfigurationen und Plattformen für Tests der codierten UI und Aktionsaufzeichnungen

Weitere Ressourcen

Erstellen von Tests der codierten UI