Tutorial zum Coded UI Test Automation Framework
Eine typische Softwareautomatisierung Testen erfordert Automatisierungstools wie Selenium und QTP. Die codierte Benutzeroberfläche ähnelt diesen Tools und kann besonders für Funktionstests nützlich sein.
Coded UI Test (CUIT) verwendet Visual Studio IDE zum Schreiben von Skripten, da die Aufzeichnung mit erfolgen kann Visual Studio.
Was ist ein Coded-UI-Test?
Coded-UI-Test (CUIT) ist ein automatisierter Test, der Anwendungen über seine 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.

UI-Test Architektur
Funktionen für codierte UI-Tests
Zu den Funktionen der codierten UI 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
Vom 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.
Die codierte Benutzeroberfläche 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 Elementidentifikationsmechanismus ist ein großartiges Feature 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
- Unterstützt wird das Tool für codierte UI beschreibende Programmierung. Es ermöglicht Softwaretestern, Szenarien basierend auf Objekteigenschaften zu automatisieren
- Es unterstützt AJAX-Steuerelemente.
So erstellen Sie codierte 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
Inhalte eines codierten UI-Tests
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 | Methodeneigenschaften der CodeUITest1-Klasse | Ja |
UIMap.uitest | Die XML-Zuordnung der Benutzeroberfläche für den Test. Die Bearbeitung erfolgt nur über den UI-Map-Editor | Nein |
- 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.
- 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.
Als Nächstes erfahren Sie in diesem Tutorial zur codierten UI, wie Sie einen Automatisierungstest für die codierte UI durchführen.
So führen Sie einen codierten UI-Test durch
Die codierte Benutzeroberfläche bietet zwei verschiedene Möglichkeiten, einen Test für Ihre Anwendung durchzuführen.
- Codierte UI-Aufzeichnung und Wiedergabe oder
- Codierte UI. Handcodierung
Um Coded UI-Tests durchzuführen, müssen Sie den folgenden Schritt ausführen:
- Erstellen Sie ein CodedUI-Testprojekt
- Fügen Sie eine Testdatei für die codierte UI hinzu
- Zeichnen Sie eine Abfolge von Aktionen auf
- Überprüfen Sie die Werte in UI-Feldern wie Textfeldern
- Sehen Sie sich den generierten Testcode an
- Fügen Sie weitere Aktionen und Behauptungen hinzu
- Bearbeiten Sie die Details der Testaktivitäten und der Behauptungen
- Führen Sie den Test durch
Best Practices für Coded UI Tests (CUIT)
Hier sind einige Best Practices für ein Testautomatisierungs-Framework für codierte UI:
- Verwenden Sie nach Möglichkeit den Test Builder für die Automatisierung der programmierten UI
- 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 Behauptung zu erstellen, verwenden Sie den CodedUI-Test-Builder. Es fügt der Datei UIMap.Designer.cs automatisch eine Assertionsmethode 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 des codierten UI-Tests vs Selenium Im Vergleich zu QTP
Unten finden Sie die Vergleichstabelle von Coded UI vs Selenium Im Vergleich zu 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.
Vergleich des codierten UI-Tests vs Selenium Im Vergleich zu QTP
Zusammenfassung:
- Automatisierte Tests, die Ihre Anwendung über ihre Benutzeroberfläche (UI) steuern, werden als CodedUI-Tests (CUITs) bezeichnet.
- Das Testautomatisierungs-Framework für codierte UI unterstützt Technologien wie Webdienste, Windows Phone-Anwendungen, Webanwendungen usw.
- Codierte UI-Tests ermöglichen Entwicklern und Softwaretester um mit denselben Tools und derselben Sprache effektiv zusammenzuarbeiten
- Inhalte oder eine Datei, die während der Verwendung von CodedUI erstellt wurde, umfassen
- UIMap.Designer.cs
- UIMap.cs
- CodedUITest1.cs
- UIMap.uitest