How to: VSTS 2008 Datadriven Ajax Webtest

Ajax Support für Webtests ist neu in VSTS 2008.
Ich habe das Adventure Works Demo einfach um eine Ajax Suche erweitert.
Der Webtest soll Datadriven verschieden Suchanfragen stellen, die mit
einer Validation Rule den Title Products validiert:

image 

Im ersten Schritt ein Webtest zum Web Project hinzufügen, der Recorder wird automatisch
gestartet, dann die Seite anfragen. In meinem Fall sind es 2 Requests, die Search Page und
dann die Suchabfrage via Ajax (also kein erneutes Laden der ganzen Seite).

Jetzt den Recoder stoppen. Als nächstes eine DataSource hinzufügen, um den Test  Datadriven zu machen zu können:

image

Ich verwende ein CSV file mit einer SearchTerms und einer Result Spalte:

image  

Im nächsten Schritt binde ich den Suchparameter txtName auf die Spalte SearchTerms:

image

Jetzt eine Datadriven "Find Text" Validation Rule für den Request hinzufügen, welche das Ergebnis validiert:

image

Der Find Text Parameter muss auf die Datasource gebunden werden.
Dies ist Punkt, an dem der ein oder andere sich ein Custom Validation Rule schreiben möchte. Ist aber nicht nötig:-)
Die Syntax ist: {{DataSource1.Search#csv.Result}}

image

Jetzt noch die Testrunconfig auf "One run per data Source row" setzen:
(default ist Fixed Run Count = 1)

image

Test ausführen; Man sieht 3 Runs (1 per Data row).
Der Webrowser Tab zeigt die Ajax Response.
Da ja nicht die ganze Seite übertragen wird, wird auch nicht die ganze
Seite angezeigt:

image

Im Context des Requests findet man die Parameter.
Wir suchen nach "Skates" und die Validation rule validiert
"Contoso Inline Skates" in der Response.

image

Im Details Tab kann man das Ergebnis der Rule sehen:

image

So kann man sehr einfach eine Ajax basierte Webapplicatiion mit variablen Parametern testen :-)

Viel Spass
Chris