VSTS 2010 CTP Manual Test Runner: Funktionieren Async UI Requests mit Automation for Naviation?

Mit VSTS 2010 gibt es ein Tool für die Ausführung der Manuellen Tests, der Manual Test Runner (MTR). Der MTR lädt die Testschritte direkt aus dem Testcase, die in dem neuen Testplanungs Tool Camano verwaltet werden können.

image

Hierbei unterstützt der MTR “Automation for Navigation” kurz AFN, womit ein Playback der Testschritte, nach einmaliger Ausführung, durchgeführt werden kann. Im MTR kann man die Schritte via Index selektieren und dann das Playback ausführen lassen. So weit so gut :-)

image

Wie werden aber Async UI Request behandelt? Erst mal ein einfaches Beispiel:
Eine Form hat 2 Buttons, Button1 und Button2.
Im ersten Testschritt erflogt ein Click auf Button1, der via Backgroundworker Thread eine async Call absetzt, der ca 15 sec dauert.
Im zweiten Testschritt erflogt ein Click auf Button2, der allerdings erst aktiviert ist, wenn der Async Call von Button1 fertig ist.
Hierbei wird der Tester die 15sec warten und dann Schritt 2 ausführen.

Wenn man nun mit den VSTS2010 CTP bits das ganze Testet, wird man feststellen, dass beim Playback der beiden Schritte AFN nicht wartet und somit Button2 nicht betätigt wird, da er noch deaktiviert ist. Die gute Nachricht ist, das wir konzeptionell dieses Szenario mit “ThinkTimes” abdecken werden, es aber noch nicht in den CTP bit’s drin ist.

Das also der aktuelle Status für alle, denen ich auf den letzten Konferenzen/Workshops die Antwort schuldig geblieben bin:-)

PS: Falls Ihr ein Repro macht und es bei Euch funktioniert, liegt es wahrscheinlich daran, dass Ihr das ganze sync macht. In diesem Fall ist das UI nicht responsive,
dann geht’s natürlich.

Deshalb hier Meine Demo Solution zum ausprobieren (build on.Net 4.0 und VS 2010)

Viel Spass

Chris