☰ Menu

06.10.2026 · Signal Titans Editorial

MSTest 4.5 vereinheitlicht UI-Thread-Tests für UWP- und WinUI 3-Apps

MSTest 4.5 und Microsoft.Testing.Platform 2.5 bieten native UI-Thread-Tests und Sidecar-Prozess-Aktivierung für UWP- und WinUI 3-Anwendungen.

Ein zentraler, leuchtend cyanfarbener geometrischer Prisma-Körper, der über ein silbernes Band mit einer kleineren, transparenten Glaskugel vor einem dunklen Schieferhintergrund verbunden ist.

Microsoft hat MSTest auf Version 4.5 sowie Microsoft.Testing.Platform auf Version 2.5 aktualisiert und führt damit ein einheitliches UI-Testmodell für Universal Windows Platform (UWP)- und WinUI 3-Anwendungen ein. Die Updates ermöglichen es, die Testinitialisierung, die asynchrone Codeausführung und Aufräumroutinen direkt auf dem nativen UI-Thread einer Anwendung auszuführen, anstatt auf einem allgemeinen Single-Threaded-Apartment-Thread.

Einheitliche Sidecar-Ausführungsarchitektur

MSTest.Sdk koordiniert die Testausführung über ungepackte WinUI 3-, gepackte Anwendungen, moderne UWP-, klassische UWP- und AppContainer-Hosts hinweg. Anstatt von älteren Komponenten wie vstest.console, Microsoft.NET.Test.Sdk oder UwpTestHostRuntimeProvider abzuhängen, nutzt MSTest.Sdk einen Full-Trust-Sidecar-Controller. Für ungepackte WinUI 3-Projekte startet das Tool den Apphost direkt. Bei gepackter Software registriert der Sidecar-Controller das Ausgabelayout und aktiviert die Host-App über ihre Application User Model ID mittels Microsoft.Testing.Extensions.PackagedApp, wobei Befehlszeilenargumente, Testabbrüche, Wiederholungsversuche und die Berichterstattung verarbeitet werden.

Integration des UI-Dispatchers

Das Framework nutzt das Attribut UITestMethod, um während der gesamten Testeinrichtung, der Testlogik und der Aufräumarbeiten Zugriff auf den UI-Thread zu gewähren. In WinUI 3-Testanwendungen weisen Entwickler die DispatcherQueue des Hauptfensters innerhalb des OnLaunched-Einstiegspunkts zu, bevor sie Prozessargumente an den generierten Ausführungshelfer von Microsoft.Testing.Platform übergeben. Dieser Ansatz ersetzt STATestMethod-Workflows, die Single-Threaded-Apartment-Threads einrichteten, ohne einen nativen WinUI-Dispatcher zu erstellen.

Umgebungsanforderungen und CI-Ausführung

Die Ausführung gepackter oder AppContainer-Test-Hosts erfordert spezifische Systemeinstellungen. Die Registrierung nicht signierter Build-Ausgabelayouts setzt den Entwicklermodus oder eine aktive Sideloading-Richtlinie auf Entwickler-Workstations und CI-Agenten voraus. AppContainer-Tests und UWP-Builds werden über nicht erhöhte Developer-PowerShell-Umgebungen mithilfe des MSBuild-Ziels InvokeTestingPlatform ausgeführt, während ungepackte WinUI 3-Projekte auch direkt über Standardbefehle wie dotnet run oder dotnet test ausgeführt werden können.

KI-generierte redaktionelle Illustration; kein Dokumentarfoto.

Quelle: UWP and WinUI 3 apps: UI testing with MSTest