CodeTutorial zum d UI Testautomatisierungs-Framework

⚡ Intelligente Zusammenfassung

CodedUI Test (CUIT) ist eine Funktion für automatisierte Tests in Visual Studio, die eine Anwendung über ihre Benutzeroberfläche testet. Hier erfahren Sie, was CUIT ist, welche Funktionen es bietet, welche Technologien unterstützt werden, wie Sie Tests erstellen und welche Best Practices gelten.

  • ️ Was es ist: Coded UI Test steuert eine Anwendung über ihre Benutzeroberfläche (UI).
  • 🎬 Aufzeichnung: UI-Aktionen in Visual Studio aufzeichnen, um Testcode zu generieren.
  • 🧰 Technologies: CUIT unterstützt Web, WPF, Windows Formulare und andere UI-Technologien.
  • 🆚 Vs Selenium/QTP: Like Selenium und QTPCUIT automatisiert funktionale UI-Tests.
  • 🤖 KI-Hilfe: KI-Tools wie GitHub Copilot helfen bei der Generierung und Pflege von UI-Testcode.

Coded UI Test (CUIT)

Eine typische Softwareautomatisierung Tests erfordert Automatisierungstools wie Selenium und QTP. Coded UI ist diesen Tools ähnlich und kann insbesondere für Funktionstests nützlich sein.

Coded UI Test ( CUIT) verwendet die Visual Studio IDE zum Schreiben von Skripten, da die Aufzeichnung mit Visual Studio.

Was ist Coded UI-Test?

Coded UI Test (CUIT) Es handelt sich um einen automatisierten Test, der Anwendungen über ihre Benutzeroberfläche (UI) steuert. Daher der Name Coded UI-Test (CUIT). Dieser Test beinhaltet Funktionsprüfung der UI-Steuerelemente. Es überprüft die Funktionalität der gesamten Anwendung, einschließlich der Benutzeroberfläche. Es wird auch verwendet, um einen bestehenden manuellen Test zu automatisieren.

Coded UI-Test

UI-Test Architektur

Coded UI-Testfunktionen

CodeZu den UI-Funktionen gehören

  • Funktionsprüfung
  • Code in VB/C# generieren
  • Integriert in die ALM-Story
  • Erstellen, bereitstellen und testen Sie im Labor oder als Teil eines Builds
  • Lokale, Remote-Läufe, Datenerfassung
  • Umfangreiche Erweiterbarkeit
  • Absichtsbewusste Aufnahme und belastbare Wiedergabe

Coded UI Test (CUIT) Unterstützte Technologien

Mit der codierten Benutzeroberfläche kann eine Anwendung, die über eine Benutzeroberfläche (Benutzeroberfläche) verfügt, einfach getestet werden. Die Anwendung kann entweder fensterbasiert oder webbasiert sein.

Coded UI unterstützt Technologien wie

  • Fensterbasierte Desktop-Anwendungen
  • Webdienste (SOAP, ASPX usw.)
  • Windows Phone-Anwendungen
  • WPF (Windows Präsentation Foundation)
  • Webanwendungen (HTML, Silverlight, HTML5)

Warum eine codierte Benutzeroberfläche für die Testautomatisierung verwenden?

Der Grund, warum eine codierte Benutzeroberfläche für die Testautomatisierung bevorzugt wird

  • Entwickler und Softwaretester können mithilfe derselben Tools/Sprache effektiv zusammenarbeiten.
  • Es unterstützt sowohl Web als auch Windows Projekte.
  • Der Mechanismus zur Elementidentifizierung ist eine großartige Funktion in Coded UI. Außerdem unterstützt es die Synchronisierung.
  • Die Playback Engine unterstützt Funktionen wie „WaitForControlExist“, „WaitForReadyLevel“ usw
  • Mit Hilfe von „Tests Agents“ können Automatisierungstests auf Remote-Rechnern ausgeführt werden
  • Automatisierungsteams können anspruchsvolle Tests entwickeln, indem sie eine codierte Benutzeroberfläche mit einem mehrschichtigen Framework verwenden
  • Softwaretester können mithilfe von log4net.dll Ausnahmen erfassen und das Ergebnis effektiv aufzeichnen
  • Coded UI-Tool unterstützt beschreibende Programmierung. Es ermöglicht Softwaretestern, Szenarien basierend auf Objekteigenschaften zu automatisieren
  • Es unterstützt AJAX-Steuerelemente.

So erstellen Sie Coded UI-Tests (CUIT)

Zum Erstellen codierter UI-Tests stehen Ihnen folgende Möglichkeiten zur Verfügung.

  • Generieren aus einer vorhandenen Aktionsaufzeichnung (Konvertieren aus einer manuellen Testaufzeichnung)
  • Erstellen eines neuen codierten UI-Tests von Grund auf
  • Code von Grund auf schreiben

Inhalt einer Coded UI-Test

Wenn Sie einen Test der programmierten UI erstellen, erstellt der Builder für den Test der programmierten UI eine Karte. Dazu gehören die zu testende Benutzeroberfläche, Testmethoden, Parameter, Behauptungen usw. Für jeden Test wird außerdem eine Klassendatei erstellt.

Reichen Sie das Inhalt Bearbeitbar
UIMap.Designer.cs Deklarationsabschnitt UIMap-Klassenmethodeneigenschaften Nein
UIMap.cs UIMap-Klasse (teilweise) Ja
CodedUITest1.cs CodeMethoden und Eigenschaften der Klasse UITest1 Ja
UIMap.uitest Die XML-Zuordnung der Benutzeroberfläche für den Test. Die Bearbeitung erfolgt nur über den UI-Map-Editor Nein
  1. UIMap.Designer.cs : Der Designer enthält die Codeansicht der UIMap. Es wird generiert, wenn ein Tester eine UI-Interaktion aufzeichnet oder wenn einige Objekte manuell zur UIMap hinzugefügt werden.
  2. UIMap.cs: Alle an der UIMap vorgenommenen Änderungen oder Anpassungen werden in dieser Datei gespeichert. Anfangs ist diese Datei leer und kann später ausgefüllt werden. Wenn Änderungen direkt an der Datei UIMap.designer.cs vorgenommen werden, stellen Sie sicher, dass sie nicht aufgezeichnet werden, da sonst alle Änderungen verloren gehen.
  • CodedUITest1.cs: Diese Datei enthält codierte UI-Testklassen, Testmethoden, Assertionsaufrufe und Methodenaufrufe. Alle Behauptungen und Methoden werden standardmäßig aus dieser Datei aufgerufen.
  • UIMap.uitest: Es handelt sich um eine XML-Darstellung der UIMap-Klasse. Sie enthält Fenster, Steuerelemente, Eigenschaften, Methoden, Aktionen und Behauptungen. Sie kann nur über den UI Map-Editor bearbeitet werden.

Weiter in diesem CodeIn diesem Tutorial zur Benutzeroberfläche lernen wir, wie man Folgendes durchführt: Coded UI-Automatisierungstest.

Wie man ausführt Coded UI-Test

Coded UI bietet zwei verschiedene Möglichkeiten, einen Test für Ihre Anwendung durchzuführen.

  1. Coded UI-Aufnahme und -Wiedergabe oder
  2. Coded UI Handcodierung

Sie müssen die folgenden Schritte befolgen, um dies durchzuführen. Coded UI-Tests,

  1. Erstellen Sie CodedUI-Testprojekt
  2. Fügen Sie eine Testdatei für die codierte UI hinzu
  3. Zeichnen Sie eine Abfolge von Aktionen auf
  4. Überprüfen Sie die Werte in UI-Feldern wie Textfeldern
  5. Sehen Sie sich den generierten Testcode an
  6. Fügen Sie weitere Aktionen und Behauptungen hinzu
  7. Bearbeiten Sie die Details der Testaktivitäten und der Behauptungen
  8. Führen Sie den Test durch

Best Practices für Coded UI Test (CUIT)

Hier sind einige bewährte Vorgehensweisen für ein Coded UI-Testautomatisierungsframework:

  • Verwenden Sie die Coded UI-Automatisierungstest-Builder, wann immer möglich
  • Versuchen Sie, die Datei UIMap.designer.cs nicht direkt zu ändern. Andernfalls werden die an der Datei vorgenommenen Änderungen überschrieben.
  • Erstellen Sie Ihren Test als Abfolge aufgezeichneter Methoden
  • Jede aufgezeichnete Methode sollte auf einer einzelnen Seite, einem Formular oder einem Dialogfeld ausgeführt werden. Erstellen Sie außerdem für jedes neue Formular, jede neue Seite oder jedes neue Dialogfeld eine neue Testmethode.
  • Wenn Sie eine Methode erstellen, verwenden Sie anstelle des Standardnamens einen aussagekräftigen Methodennamen. Ein aussagekräftiger Name hilft dabei, den Zweck der Methode zu erkennen
  • Beschränken Sie nach Möglichkeit jede aufgezeichnete Methode auf weniger als 10 Aktionen. Dieser Ansatz erleichtert das Ersetzen einer Methode, wenn sich die Benutzeroberfläche ändert.
  • Um eine Assertion zu erstellen, verwenden Sie CodedUI-Testgenerator. Er fügt automatisch eine Assertionsmethode zur Datei UIMap.Designer.cs hinzu.
  • Erfassen Sie die Testmethoden/Assertionsmethoden neu, wenn sich die Benutzeroberflächen ändern oder die betroffenen Abschnitte einer vorhandenen Testmethode neu aufzeichnen.
  • Wenn Sie direkt mit der API programmieren, verwenden Sie die Methoden und Eigenschaften in den Klassen, die in der Datei UIMap.Designer.cs erstellt wurden. Diese Kurse machen Ihre Arbeit zuverlässiger und einfacher und helfen Ihnen, produktiver zu sein.

Vergleich von Coded UI-Test vs. Selenium Vs QTP

Nachfolgend finden Sie die Vergleichstabelle. Coded UI Vs Selenium Vs QTP:

  • Selenium unterstützt kein WPF und auch nicht Windows Anwendungen
  • Visual Studio CodedUI unterstützt das Testen von Windows Store-Anwendungen sowie das Testen von Windows Phone-Anwendungen. Keine anderen Tools unterstützen dies.
  • Der abgeschlossene Test unterstützt zwar die Windows-Anwendung, erfordert jedoch die Installation eines Plugins.

Coded UI-Test vs. Selenium Vs QTP

Vergleich von Coded UI-Test vs. Selenium Vs QTP

Häufig gestellte Fragen

CodeEin UI-Test ist ein automatisierter Test, der eine Anwendung über ihre Benutzeroberfläche durchläuft. Visual Studio zeichnet UI-Aktionen auf und generiert C#- oder VB.NET-Testskripte.

CUIT unterstützt Webanwendungen. Windows Präsentation Foundation (WPF), Windows Formulare und andere UI-Technologien für Desktop- und Browser-Oberflächen.

Fügen Sie in Visual Studio Folgendes hinzu: CodeErstellen Sie ein UI-Testprojekt und zeichnen Sie anschließend UI-Aktionen mit dem CodeSie können den UI Test Builder verwenden oder die Tests manuell schreiben. Der Recorder generiert die UIMap und die Testmethoden.

Alle drei automatisieren funktionale UI-Tests. Selenium Zielt auf Webbrowser ab QTP unterstützt viele Technologien, und Coded UI ist in Visual Studio für .NET integriert.

A Coded UI Test beinhaltet UIMap.Designer.cs, UIMap.cs, CodedUITest1.cs und UIMap.uitest. Die UIMap-Dateien speichern UI-Elementdefinitionen, und die Testdatei enthält die Testmethoden.

KI-Assistenten wie GitHub Copilot vervollständigen Testmethoden automatisch, generieren Assertions und schlagen Selektoren vor für Coded UI oder Selenium Testskripte.

Ja. KI-gestützte Testwerkzeuge generieren Testfälle, beheben selbst defekte Selektoren bei Änderungen der Benutzeroberfläche und wandeln aufgezeichnete Schritte in Code um.

Coded UI Test ist in Visual Studio 2019 veraltet und in Visual Studio 2022 nicht mehr enthalten. Microsoft empfiehlt Alternativen wie Selenium or Appium für neue Projekte.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: