2017-07-17 3 views
1

Hallo Leute, ich habe ein sehr seltsames Problem. Ich habe die Aufgabe, mehrere Performance-Tests auf einer alten Webseite (2004 - etwas) durchzuführen. Das Modul, das getestet wird, wird mit ASP.net-Formularen erstellt. Im mit Jmeter für die Aufgabe. Ich habe Chrome Erweiterung (Blazemeter) verwendet, um das Startskript zu generieren.Jmeter Leistungstest auf ASP.net Form verlieren Sitzung

Aber ein sehr seltsames Problem tritt auf alle anderen Seiten des Formulars sind gut und Dandy ... außer einer Seite für Datei-Upload, wo nach dem Versuch zu gehen (eine POST-Anfrage) verliert seine Sitzung und Sie werden zu einem anderen weitergeleitet Bildschirm mit generischen - Möchten Sie die letzte Sitzung Art der Nachrichten angezeigt werden.

Um zu versuchen, das Problem zu debuggen, schrieb ich eine einfache Post Anfrage auf IntelliJ und alles funktioniert gut, wenn sie ausgeführt wird.

Ich kehrte dann zu Jmeter und gab alles ein, das mit dem Skript identisch ist, und ich bekomme immer noch das gleiche Problem.

Ich entschied mich dann, den Jmeter-Aufnahme-Proxy zu versuchen (falls das Blazemeter fehlerhaft ist und einige Werte unkorrekt zuweist) Und während ich manuell das Formular durchsucht, erscheint das Problem! - Wenn ich auf "Weiter" klicke, fahre ich mit dem Jmeyer Proxy fort, der auf dem entsprechenden Upload-Formular läuft, es verliert die Sitzung und zeigt den Bildschirm "Letzte Sitzung fortsetzen" an. Und ich bin verblüfft darüber, wie ein einfacher Proxy, der Datensätze aufzeichnet, die Sitzungen durcheinander bringen könnte. Ich habe es mit einem normalen Proxy versucht (nicht mit dem Jmeter) und alles funktioniert. Es scheint also, dass das Problem in Jmeter oder einigen Einstellungen liegt. Habt ihr jemals ein solches Problem oder eine Ahnung, was zu einem solchen Verhalten führen könnte? Zusätzliche Informationen:

Ich habe auf ASP.net Formular zuvor gearbeitet, und ich extrahiere __VIEWSTATE __EVENTARGUMENT und ein paar andere versteckte Variablen aus der vorherigen Antwort und übergibt sie an die Anfrage.

Ich verwende die Multipart/Formulardaten für das Upload-Dateimodul POST und übergibt die Datei ordnungsgemäß.

Als Standard benutze ich KeepAlive und Follow Redirects, aber ich habe versucht Redirect automatisch oder alle der oben genannten ausgeschaltet.

Es gibt einen Cookie-Manager, der auf Testplan-Ebene eingerichtet wurde und in HC4-Kompatibilität arbeitet (alle anderen auch getestet), basierend auf den Anforderungen, dass er ordnungsgemäß funktioniert.

Cache-Manager zu 5000 Elemente.

Zertifikate scheinen ordnungsgemäß importiert zu sein (für den Jmeter-Proxy).

Ich bin an dieser Stelle verwirrt, warum Jmeter weigert, richtig zu handeln, und ich wäre sehr dankbar, wenn mir jemand helfen könnte.

Antwort

0

Hallo Leute, ich poste gerade ein Update, da ich eine Arbeit gefunden habe. Also, wenn ich alles mit Blazemeter aufzeichnen (da jmeter Proxy mir nicht erlaubt) und nach dem Upload Schritt lösche ich die Schritte und schreibe einfach eine manuelle Anfrage in den Body mit multipart/form tick aus und schreibe einfach die mehrteiligen Sachen in die Header es scheint zu funktionieren. Ich habe immer noch keine Ahnung, warum es sich so verhält.