Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Nico Orschel
ist Software Process Consultant, Autor und Referent im Umfeld Microsoft ALM bei der AIT und wurde von Microsoft als MVP für VS ALM ausgezeichnet. Er hilft Unternehmen auf Basis von TFS effizienter Software zu entwickeln und zu testen und so ein höheres Qualitätsniveau bei kürzeren Release-Zyklen zu erreichen. Mein Profil auf Google+ .

Nico Orschel

Coded UI – WinForms Anwendungen für UITest vorbereiten (Teil 3)

Freitag, 28. Januar 2011

WinForms Anwendungen sind bereits Bestandteil des .NET Frameworks seit der ersten Version und haben eine entsprechend hohe Verbreitung bei geschäftskritischen Anwendungen. Ähnlich wie bei den WPF-Anwendungen gibt es sehr oft Probleme beim Zusammenspiel zwischen UI Test (Coded UI) Frameworks und der jeweiligen Oberfläche der Anwendung. Nachdem wir im letzten Beitrag die ersten Schritte zur Optimierung von WPF-Anwendungen mit Standard-Controls unternommen haben, betrachten wir jetzt die Frage: Wie passe ich WinForms an, sodass diese optimal vom CodedUI Framework angesprochen werden können?

Im Rahmen des aktuellen Artikels habe ich eine einfache WinForms-Anwendung mit einem Button und einer TextBox geschrieben, um die Grundprinzipien zu erläutern. Als ersten Schritt habe ich meine einfache Anwendung mit dem UI Accessability Scanner (siehe Teil 1) überprüft und als Ergebnis wurden Probleme  mit der TextBox diagnostiziert (siehe folgenden Screenshot). Speziell die TextBox wurde in meiner Beispielanwendung als kritisch identifziert, weil Sie kein Label als Bezeichner hat und deshalb schlecht für das Framework identifizierbar ist.

13.01.2

Um die im oberen Screenshot gezeigten Probleme zu lösen, müssen wir bei den WinForms Controls die Accessible-Eigenschaften setzen.  Die  Accessible-Properties sorgen dafür, dass das UITest-Framework unsere WinForms-Controls via MSAA besser ansprechen kann.  Als Entwickler kann man die Accessible Properties als Gegenpart zur AutomationProperty bei den WPF Controls sehen. Die wichtigste Eigenschaft aus der Familie der Accessible Properties ist AccessibleName (siehe Screenshot). Der AccessibleName ermöglicht die eindeutige Identifizierung eines Controls und sollte auf einen eindeutigen nicht lokalisierten Wert gesetzt werden.

winformsproperties2

Fazit

Mit einfachen Tricks ist auch die Optimierung von bestehenden bzw. zukünftigen WinForms Anwendungen mit einfachen Mitteln möglich. Die Entscheidung über die Verfolgbarkeit von Controls wird letzendlich oft über die Accessible-Properties-Familie bestimmt.

Links und weiterführende Informationen

[1] Control.AccessibleName-Eigenschaft: http://msdn.microsoft.com/de-de/library/system.windows.forms.control.accessiblename%28VS.80%29.aspx

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags: , , , ,

Hinterlasse eine Antwort