WinAppDriver - Teil 3

Testautomation mit Windows Application Driver Teil 3 - Weiterführende Aspekte

Dieser Teil schließt den Artikel zu WinAppDriver ab und stellt noch einige weitergehende Aspekte des Automationstools heraus.

Neben der Methode WindowsElement.Click, die im Beispiel mehrfach benutzt wird, ist vor allem die Methode WindowsElement.SendKeys wichtig. Mit ihr können Sie Text in GUI-Elemente schreiben. In der Dokumentation und den offiziellen Beispielen zu WinAppDriver wird teilweise noch RemoteWebDriver.Keyboard.SendKeys benutzt – dieses Vorgehen wird allerdings nicht mehr empfohlen, da die Keyboard-Klasse abgekündigt (deprecated) ist. Fortgeschrittene Beispiele sind außerdem auf github verfügbar. Dort wird u.a. gezeigt, wie man Mausbewegungen automatisiert.

Ein typisches Problem für die Automatisierung sind Splash-Screens, also Fenster, die beim Anwendungsstart kurz angezeigt und dann geschlossen werden. In diesem Fall müssen Sie nach Erzeugen der Sitzung eine Warteschleife einbauen und anschließend das gewünschte Fenster mit der SwitchTo-Methode neu zuweisen.

Schließlich sollten Sie darauf achten, bei komplexeren GUIs die Tests nach dem Page-Object-Muster zu erstellen. Dies trennt den eigentlichen Test von den technischen GUI-Details und entspricht gutem objektorientiertem Design.

Fazit

Microsoft stellt mit WinAppDriver ein kostenloses und quelloffenes Automations-Tool zur Verfügung, das mit allen Windows-Technologien funktioniert und auch noch mit dem verbreiteten WebDriver-Protokoll beziehungsweise Appium kompatibel ist. Das ist insbesondere in heterogenen Softwareumgebungen eine sehr interessante Lösung. Wer bisher auf Coded-UI-Tests gesetzt hat, muss sich nun allerdings umorientieren.

Da WinAppDriver noch recht jung ist, stellt es (noch) nicht den kompletten Funktionsumfang zur Verfügung, den andere Tools bieten. Zum Beispiel wäre ein ausgereifteres Recording-Tool zur Aufnahme von GUI-Interaktionen hilfreich. Es kommt gelegentlich auch noch zu Kompatibilitätsproblemen mit Appium – offenbar funktioniert die Abstimmung zwischen der Appium-Gemeinde und den Entwicklern bei Microsoft nicht immer.

Wie nützlich WinAppDriver im Testalltag sein wird, muss sich zeigen. Einfache Tests laufen erfahrungsgemäß stabil. Für komplexere Testszenarien, beispielsweise bei dynamisch generierten GUI-Elementen, beim Scrollen von Fensterinhalten, bei Anwendungen mit mehreren Fenstern oder beim Ansprechen von Touchscreens, fehlen noch Erfahrungswerte. Insbesondere muss die Technologie auch bei den regelmäßig stattfindenden Betriebssystem-Updates stabil bleiben. Schauen wir mal, ob Microsoft das in den Griff bekommt.


Jetzt teilen: