2011-01-07 4 views
1

Ich versuche, eine Schiene App mit Jmeter testen, aber nicht Pass Login bekommen.Schienen App Belastungstest mit Jmeter

In application_controller habe ich protect_from_forgery auskommentiert, um das authenticity_token nicht verwenden zu müssen.

Es sieht jetzt so aus, als ob der App Sitzungs-ID-Cookie von der idex/Homepage-Antwort nicht vom http-Cookie-Manager von jmeter gespeichert wird oder der Cookie vom jmeter-Cookie-Manager gespeichert und nicht in der Anfrage übergeben wird. Diese

ist, was mein Beitrag von jmeter wie von tomcat Zugriffsprotokoll aussieht:

192.168.247.13 [07/Jan/2011: 11: 01: 27 -0500] r: 200 d: 58 ‚POST/dash/account/login HTTP/1.1' 2088

Dies ist, was die Post sieht aus wie von einem Browser (Chrome) anmelden:

192.168.247.13 [07/Jan/2011: 10: 56: 51 -0500 ] r: 200 d: 112 'POST/Dash/Konto/Login HTTP/1.1' 16

Aus irgendeinem Grund funktioniert der Beitrag aus dem Browser und es Redirect s zur nächsten Seite. Der Beitrag von JMeter gibt die Ansicht (login.erb) statt einer Weiterleitung zurück. Ein weiterer Hinweis, dass entweder der Cookie-Manager den Sitzungscookie nicht speichert oder der Sitzungscookie nicht von jmeter in der Anfrage gesendet wird.

Irgendwelche jemals in dieser Ausgabe mit jmeter und einer Schiene App gelaufen? Irgendwelche Vorschläge?

Danke in fortgeschrittenem.

Antwort

3

Problem nicht mit Cookie-Manager. Der Cookie-Manager hat gut funktioniert. Vielmehr brauchte ich einen Header-Manager hinzufügen und die folgenden Header und Wert hinzufügen:

Rubrik: X-Requested-With Wert: XMLHttpRequest

0

Auf Ihrer Anmeldeseite, haben Sie "Redirect" aktivieren? Sie müssen außerdem eine JMeter-Anfrage für jede Seite haben, auf die Sie zugreifen möchten.

Also, Sie Skript müsste wie folgt aussehen:

  • Cookie Manager
  • Thread-Gruppe - POST Login Seite - GET Zielseite - andere Seiten