JMeter – Apache JMeter – ASP.NET
6. Juni 2009 von Hendrik Schreiber

Ich habe lange nach einem Tool gesucht, um Lasttests bzw. Funktionstests durchführen zu können. Besondere Anforderung war, dass es mit einer ASP.NET Anwendung funktionieren muss. Dabei ist bekanntlich der Viewstate bei einem Postback sehr wichtig. Gefunden habe ich: JMeter – Apache JMeter. (Siehe auch Screenshot oben)
Es ist ein sehr umfangreiches Testtool mit vielen Auswertungsmöglichkeiten. Außerdem kann es mit dem Viewstate einer ASP-Seite gut umgehen.
Ich möchte nun eine kurze Beschreibung abgeben, wie mit dem Viewstate umgegangen werden muss.
So muss vor einem Postback vorgegangen werden:
1. Seite, die per Postback zurückgeschickt werden soll, aufrufen per HTTP-Request
2. An den HTTP-Request als Kind-Element einen Regular Expression Extractor anhängen
3. Die Seite per POST über einen HTTP-Request an den Server schicken, wobei alle Parameter, zusammen mit dem im vorherigen Schritt gewonnenen Viewstate, mitgeschickt werden.
Wichtig dabei ist, dass ALLE Parameter mitgeschickt werden, die .NET erwartet. Am Besten man nimmt einmal über den in JMeter eingebauten Proxy den Postrequest auf. (Den Proxy der Workbench als Nicht-Testelement hinzufügen; Record starten; Proxy im Browser eintragen; Arbeitsschritte im Browser durchführen; Post-Request analysieren) Auch Parameter, die unsinnig erscheinen müssen mitgeschickt werden! Sogar wennn sie leer sind!
Wie der Viewstate per Regular Expression Extractor ist im mittleren Screenshot zu sehen. Er kann über ${ViewState} ausgelesen im HTTP-Request werden. So kann JMeter mit ASP.NET Anwendungen problemlos benutzt werden. Im unteren Screenshot ist nochmal ein Beispiel zu sehen, wo auch die “unsinnigen” Parameter zu sehen sind.

