2016-07-06 22 views
0

Ich muss einloggen JMeter. In Firefox gehe ich auf die Website, gebe Benutzername und Passwort ein und drücke den Login-Button. Dann überprüfe ich in der Konsole, welche POSTs angezeigt werden. Ich nehme Login-Daten von XML und gebe es an HTTPRequest als Parameter in JMeter. Und jetzt habe ich ein Problem. Diese Website zeigt JS PopUp mit Warnung (ja oder nein) an, bevor es nach der Protokollierung auf die erste Seite geht. JS-Code für dieses Popup wird in der Konsole als Antwort in dieser POST-Methode angezeigt. Dieses Popup blockiert weiter - ein Inhalt von der URL von diesem POST ist "Zugriff verweigert".JMeter - Logging mit PopUp

Wie es zu beheben? Ich habe über einen If Controller nachgedacht, aber ich habe keine konkrete Idee.

Ich wäre dankbar ;-)

+0

Antwort auf Popup sendet entweder einige Daten an den Server oder legt einige Cookies fest. Dies sollte Ihr Skript replizieren. –

Antwort

0

Vergessen Sie JavaScript. JMeter is not a browser.

Soweit Web-Services und Remote-Dienste betroffen sind, sieht JMeter wie ein Browser (oder besser, mehrere Browser); JMeter führt jedoch nicht alle von Browsern unterstützten Aktionen durch. Insbesondere führt JMeter das in HTML-Seiten gefundene Javascript nicht aus.

So JMeter wird nicht in der Lage sein, das Popup zu "sehen" oder etwas darin "einzutippen". JMeter kann jedoch die relevante Anfrage genau so nachahmen, wie sie vom Browser stammt. Also, anstatt Ihre Anfrage manuell zu erstellen, würde ich vorschlagen, record es. Zeichnen Sie sogar 2-mal auf. Wenn also Unterschiede durch dynamische Parameter auftreten, können Sie sie identifizieren und bearbeiten.

Auch als JMeter ist kein Browser es einige zusätzliche Konfiguration benötigt, um mehr browserähnliche zu sein, das heißt:

  • HTTP Cookie Manager - Browser-Cookies zu vertreten und mit Cookie-basierten Authentifizierung
  • HTTP Header Manager beschäftigen - um Browser-Header darzustellen, z User-Agent
  • HTTP Cache Manager - Browser-Cache zu imitieren so bei nachfolgenden Anforderungen auf die gleiche URL würde JMeter nicht erneut herunterladen alle dazugehörigen Bilder

Siehe How To Make JMeter Behave More Like A Real Browser Artikel zur detaillierten Erläuterung der oben genannten Konfiguration Anregungen und noch ein paar Tipps.

0

Danke! Ich habe es aufgenommen und es hilft mir sehr. Aber jetzt ein weiteres Problem: Dieses Popup ist optional und es wird angezeigt, wenn mehr als 1 Benutzer mit dem gleichen Benutzernamen angemeldet ist. Wenn dies passiert - bekomme ich als POST-Antwort einen js-Code wie "new Popup (.... etc ...". Aber wenn das PopUp nicht erscheint - bekomme ich ein Stück URL (POST response), das geklebt wird zu einer normalen URL, wenn nur 1 Benutzer angemeldet ist Jetzt möchte ich diese beiden Fälle betrachten Wie es in JMeter zu tun? Ich machte eine Antwort-Assertion und als ein Muster zu testen, legte ich dieses Stück URL. Wenn diese zweite Bedingung appers - alles ist in Ordnung, aber wenn dieser PopUp apls - ich möchte diesen Teil der URL an die Hauptadresse und weiter gehen .. Ich habe versucht, es aufzunehmen, aber es ist nur eine JavaScript-Operation, und ich kann diesen Moment nicht finden in JMeter Aufnahme.Wie Sie sagten - ich muss über JavaScript vergessen;) Also, gibt es eine Möglichkeit, es zu tun?