Warum funktioniert Coded UI Test Builder zeigen MSAA für WPF-Steuerelemente anstelle von UIA
-
25-09-2019 - |
Frage
Frage
Wenn ich wähle Sie ein WPF-Steuerelement mit der Querlinie des Visual Studio 2010 Test der codierten UI Builder ( Screenshots ), es zeigt, dass die verwendete Technologie Zugänglichkeit war MSAA. Warum ist es nicht UIA?
Zusätzliche Informationen
Ich versuche, die neue Coded UI-Test-Funktion mit VS2010 und TFS2010 versandt.
Ich weiß, dass es im Grunde zwei UI Zugänglichkeit Technologie von Microsoft ist:
- Microsoft Active Accessibility (MSAA) : Ältere Technologie, COM
- von Microsoft UI Automation (UIA) : Neuere Technologie, Teil von .NET 3.0, Objekt Modellbasiertes
Wenn ich einen codierten UI-Test und haben einen Blick auf den generierten Code zu erstellen, sehe ich, dass die Kontrollen auf, basierend auf Pixelpositionen angeklickt werden, statt --was würde ich kühn expect-- Griffe zu realen Objekten.
Ich gehe davon aus, dass Art von Zugriff der Tests zerbrechlicher macht Elemente Verlagerung von UI. Während die Tests würden stabiler sein, wenn UIA bei der Arbeit sein würde; solange ich den UI-Tree nicht ändern, nichts brechen sollte.
Was habe ich falsch gemacht?
Lösung
Es ist ein bekanntes Problem mit Visual Studio 2010 Ultimate RC.
Andere Tipps
In Bezug auf die „Pixelpositionen“ Notiz in der ursprünglichen Frage. Die meiste Zeit werden die Pixelkoordinaten nicht benötigt. Die Steuerung erfolgt durch die Suche durch die Hierarchie von Steuerelementen auf dem Bildschirm gefunden. Die aufgezeichneten Koordinaten sind innerhalb der Steuerung. Dies ist für einige komplizierte Kontrollen erforderlich. Beispielsweise. Eine Schaltfläche mit einem Dreieck eine Reihe von Optionen hat zwei anklickbare Bereiche zu erweitern: die Hauptfläche und das Dreieck. Sehen Sie in diesem MSDN-Blog-Eintrag für weitere Informationen: http://blogs.msdn.com/b/mathew_aniyan/archive/2012/03/16/faq-why-are-we-using- Koordinatenbasis-Aktionen-in-codiert-ui-test.aspx