Archive for the ‘Silverlight’ Category

Automatisiertes Testen und Silverlight

Tuesday, May 11th, 2010

Silverlight ist inzwischen bei Version 4 angekommen und Microsoft bietet immer noch keine vernünftige Unterstützung für automatisierte Tests. Ja, ich weiß, es gibt das Silverlight Unit Test Framework aus dem Toolkit. Aber das ist, mit Verlaub, nicht praxistauglich. Dass Silverlight Code in der CoreCLR laufen muss und damit Unit Tests etwas aufwändiger zu realisieren sind, ist mir technisch völlig klar. Aber wieso drückt sich Microsoft davor, auf dem Gebiet seine Hausaufgaben zu machen? Wieso gibt es vom Hersteller selbst keine Unterstützung für Tests, die innerhalb von Visual Studio laufen? Wieso kann ich nicht per Knopfdruck einen einzelnen Test starten?

Die Arbeit mit Microsofts Silverlight Unit Test Framework ist lästig. Denn ich muss den Testrunner, der im Web-Browser läuft, mit Ctrl-F5 starten. Wenn ich mal Tests, mal die Silverlight Anwendung starten möchte, muss ich andauernd das Startproimagejekt ändern. Testgetriebene Entwicklung ist nur möglich, wenn ich einzelne Tests per Shortcut starten kann: einen Test schreiben, laufen lassen, rot. Implementieren, Test erneut laufen lassen, grün. Nächsten Test schreiben… Das alles geht nicht, solange der Testrunner im Browser läuft. Und wenn sich dann beim Start des Testrunners erst noch ein Popup öffnet, welches 5 Sekunden darauf wartet, ob ich möglicherweise nur Tests mit einem bestimmten Tag starten möchte, weiß ich, dass dieses Werkzeug definitiv nicht für die testgetriebene Entwicklung entworfen wurde. Schade.

Weiterhin halte ich es für sehr bedenklich, dass die Community sich nicht rührt. Wie testet ihr euer Silverlight Zeugs denn automatisiert? Garnicht?

Sorry für mein Lamentieren… aber ich verfolge das Thema nun schon seit Silverlight 1.1. Und seitdem hat sich nichts nennenswert verändert. Oder habe ich was übersehen?

dotnet-cologne 2009 – Testen von Silverlight Anwendungen

Monday, May 18th, 2009

Die diesjährige dotnet-cologne war ein voller Erfolg! Meinen herzlichen Dank an Stefan Lange, Roland Weigelt und Albert Weinert. Ihr habt einen super Job gemacht!!

Downloads zu meinem Vortrag “Automatisiertes Testen von Silverlight Anwendungen”:

Zahlenformate

Monday, May 4th, 2009

Nach mehreren Stunden habe ich einen WebAii Silverlight Test ans Laufen gebracht. WebAii 2.0 BETA hatte sich standhaft geweigert und eine FormatException ausgelöst (die ich unten eingefügt habe damit andere sie per Suchmaschine finden können). Die Ursache: WebAii erwartet das Zahlenformat English(United States). Stellt man dieses in der Systemsteuerung ein, läuft der Test. Ein peinlicher Anfängerfehler…

Der Fehler tritt auf wenn man die User.Click, User.TypeText, etc. Methoden verwendet.

Merke: Zahlenformate beim Parsen von Strings berücksichtigen!

 

Die Exception:

System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, ref NumberBuffer number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Single.Parse(String s, NumberStyles style, NumberFormatInfo info)
at ArtOfTest.WebAii.Silverlight.SilverlightProxy.GetRectangle(IAutomationPeer peer)
at ArtOfTest.WebAii.Silverlight.FrameworkElement.GetRectangle()
at ArtOfTest.WebAii.Silverlight.FrameworkElement.GetScreenRectangle()
at ArtOfTest.WebAii.Silverlight.UserInteraction.TypeText(String text, Int32 keyPressTime, Boolean clickFirst)
at ArtOfTest.WebAii.Silverlight.UserInteraction.TypeText(String text, Int32 keyPressTime)
at WebAiiBeispiel.Tests.BeispielTests.Text_wird_uebernommen() in BeispielTests.cs: line 41