2010-05-10 5 views
15

Ich habe eine GWT-Anwendung und möchte Last und Funktionalität mit einem Tool wie Jmeter testen. Ich bin nicht sicher, Jmeter ist das richtige Werkzeug für GWT. Kann jemand mich zum richtigen Werkzeug verweisen oder kann mir sagen, wie man es mit jmeter macht?GWT Belastungstest mit Jmeter

Ich möchte die Login-Funktionalität testen: Ich habe zwei Felder 'Benutzername' und 'Passwort' auf dem Login-Bildschirm und möchte testen, wie viele Benutzer sich gleichzeitig anmelden können, wie viel Zeit sie benötigen. Ich weiß nicht, wie Jmeter "Benutzername" und "Passwort" bekommen kann und kann es zur Validierung gegen DB für GWT-Anwendung einreichen?

Vielen Dank im Voraus.

+2

Wie haben Sie Ihren Belastungstest gemacht? –

+0

@jaxb wie hast du es gemacht? – MyTitle

Antwort

5

Ich denke, es kommt darauf an, was genau Sie testen möchten. Wenn Sie den clientseitigen Code ebenfalls testen möchten, könnte etwas wie Selenium besser sein.

Wenn Sie nur das Back-End testen möchten, können Sie JMeter HTTP-Anfragen über HttpClient oder ähnliches senden lassen. Sie können bestimmen, was in der Anforderung mit einem Debugging-Proxy wie Fiddler gehen muss.

-1

Es hängt von der Wartung ab. Wir haben eine GXT-App und sogar der JMeter HTTP Proxy-Rekorder funktioniert einwandfrei.

Die Wartung wird jedoch beeinträchtigt, da RPC-Anfragen einen Parameter ("X-GWT-Permutation") verwenden, der die ID der Datei .nocache.html ist. Da es für jeden Build mit einer anderen ID generiert wird, werden Sie es wahrscheinlich erneut aufzeichnen.

Auf der anderen Seite läuft Selen gut. Halten Sie sich mit Selektoren in selenes richtig fest und sorgen Sie vielleicht für DebugIds (in GWT), und Sie werden wahrscheinlich eingestellt. Es ist ziemlich trivial, ein .jar zu schreiben, das eine JUnit (3.8) Testsuite umschließt und es um Selen wickelt.

Als Empfehlung: Wenn Sie mehrere Belastungstests mit Selen durchführen möchten, kann ich Ihnen die Sauce auf Anfrage (soacelabs.com) empfehlen. Sie richten mit ihrem Dienst einen SSH-Proxy ein, und ihre Selen-Instanzen EC2 verbinden sich mit Ihrer Intranet-App. Das ist der Ansatz, den wir anstrebten.

-1

Das benötigte Werkzeug heißt NeoLoad (www.neotys.com/). Aber ist nicht kostenlos :(Wenn Sie nur einmal versuchen möchten, können Sie die Testlizenz verwenden, die Sie am Anfang geben.

Wenn Sie nicht etwas Sofisticated benötigen, können Sie Apache HTTPD-Test verwenden, der frei ist, aber nicht ist als als Jmeter konfigurierbar.

hoffte, das hilft. Beifall.

5

Das Testen von GWT mit Lasttest-Lösungen, die auf HTTP-Formularen wie JMeter oder Selenium basieren, kann aufgrund sich entwickelnder Benutzeroberflächen ziemlich schwierig sein.

Bei unserem Projekt haben wir einen anderen Ansatz gewählt.

Mit dem Projekt gwtrpccommoner rufen wir direkt RPC-Servlets von JUnit auf.

http://code.google.com/p/gwtrpccommlayer/

Es bedeutet, dass wir unsere Server-Seite Fassaden API in unseren Lasttests Skripte wieder verwenden, halten eine diese Skripte als serverseitigen Code entwickeln.

Daher können wir in JUnit mehrere Threads starten, um mehrere Benutzer zu simulieren, die die Anwendung verwenden und Statistiken sammeln.

1

hatte ich das gleiche Problem, während einen GWT-App mit jMeter testen, damit ich ein Stück Code geschrieben, die GWT Nutzlast Deserialisierung tut, damit so dass Sie Ihre jMeter (oder irgendeinen anderen) Leistungstest parametrisieren:

http://code.google.com/p/gwt-payload-deserializer/

In ReadMe.txt finden Sie Erläuterungen zu allen GWT-RPC-Nutzlastkomponenten.

3

In der Tat die reale Komplexität liegt vor, wenn Ihre Anwendung ation verwendet GWT RPC, wenn es JSON ist, wird JMeter die Aufgabe übernehmen. I Ihre Login-Seite ist nicht die erste Seite Und Sie Anwendung GWT RPC verwendet, dann benötigen Sie entweder ein Plugin für JMeter, die die Serialisierung behandelt oder ein anderes Werkzeug (ich weiß nicht, echte kostenlose Tools, die dies tun).

-1

Sie können GWT in LoadRunner mit dem GWT-DFE (Datenformaterweiterung) testen. Dies ist im Tool enthalten und erfordert keinen separaten Download. Wahrscheinlich, wenn Sie nach Freeware fragen LoadRunner ist aus dem Budget, aber ich wollte es aus Gründen der Vollständigkeit erwähnen.

Eine kurze Videodemo kann angezeigt werden here on Youtube und die LoadRunner-Hilfedokumentation enthält weitere Details.

0

Bei der Arbeit mit einer gwt-basierten Anwendung können einige Autorisierungsservice-Anfragen verwendet werden, für die Sie den Benutzernamen & nur im verschlüsselten Format speichern/verwenden müssen. Mit diesen Einstellungen können Sie sich über das jmeter-Skript in der App anmelden. Darüber hinaus besteht die Möglichkeit, dass nur wenige Post-Anforderungen Daten im Hauptteil anstelle von Parameter senden. Das ist schwer zu handhaben, obwohl die jmeter-Anfrage passierte, aber in Wirklichkeit die Änderungen, die durch das Skript gemacht wurden, nicht auf der Benutzeroberfläche zu sehen sind.