Er nutzt Microsoft UI Automation, um Windows-Anwendungen aller wesentlichen Technologien (UWP, WPF, Windows Forms, MFC sowie klassisches WinAPI) programmatisch anzusteuern.
WinAppDriver ist quelloffen und mit dem Appium-Protokoll kompatibel, d.h. es kann mithilfe des Appium Windows Driver nahtlos in eine bestehende Appium-Testumgebung integriert werden. Wegen dieser Vorteile hat Microsoft WinAppDriver als offiziellen Nachfolger der Coded-UI-Test-Technologie angekündigt.
In diesem Artikel zeige ich anhand eines einfachen Beispiels, wie Sie WinAppDriver für automatisierte GUI-Tests mit und ohne Appium einsetzen können. Dazu führe ich auf der UWP-App „Rechner“ von Windows 10 (Abb. 1) eine simple Rechenoperation aus und prüfe dann, ob das Ergebnis stimmt.
Abb. 1: GUI der Rechner-App
Einen ausführlichen Artikel zum Thema habe ich in der dotnetpro 06/2019 veröffentlicht – Sie können den Artikel auch herunterladen.
Installation
Wenn Sie Appium bereits einsetzen oder zukünftig einsetzen wollen, dann sollten Sie möglichst die WinAppDriver-Version nutzen, die mit Appium ausgeliefert wird; andernfalls bekommen Sie die aktuelle Version auf github. Für die Test-Entwicklung benötigen Sie zudem die .NET-Client-Bibliotheken für Appium, die Sie am besten per NuGet in Ihr Softwareprojekt einbinden. Legen Sie in Visual Studio ein Projekt vom Typ Komponententestprojekt (.NET Framework) an und wählen Sie Projekt | NuGet-Pakete verwalten. Von dort installieren Sie das Paket Appium.WebDriver.
Vorbereitung der zu testenden Anwendung
Das Vorgehen ist bei allen Windows-Technologien gleich – Sie müssen lediglich im Vorfeld ermitteln, wie Sie die Anwendung programmatisch starten und die GUI-Steuerelemente der Anwendung ansprechen können: