2017-06-21 3 views
0

Ich bin ziemlich neu in JMeter so habe ich mich auf die naheliegendste Szenario stecken geblieben - log inJMeter Genehmigung mit CSRF-Token versagt (401 Fehler)

ich das Szenario über jmeter aufgenommen haben, und da. waren drei Sendeparameter auf Anmeldung: Benutzername, Passwort und CSRF-Token, so dass ich nächstes Szenario haben:

  • laden Login-Seite (GET) + Regulärer Ausdruck Extraktor (receiving CSRF-Token von Cookies)
  • POST Benutzername , Passwort und csrf-Token erhalten im vorherigen Schritt

Aber immer noch bekomme ich ein 'CSRF-Token fehlt' in Protokollen, obwohl es sent in Parameter ist. Scheint so, als ob ich nicht genug Cookies sende, aber ich weiß einfach nicht, wie ich mehr senden soll: D

Und das zweite Problem: Ich erhalte Tokens, die mit ':' geteilt sind und bei der tatsächlichen Anmeldung benötige ich eins von die Token von der Liste. Wie kann ich das Gleiche machen? Momentan nehme ich nur den ersten CSRF-Token vom Set.

Antwort

0

Hier sind ein paar Dinge zu versuchen: Mit Cookies, stellen Sie sicher, dass Sie einen HTTP Cookie Manager global in Ihrem Testplan festgelegt haben. Wenn Sie diesen Wert in Ihren Beitrag eingeben müssen, können Sie ihn mit einem Cookie-Präfix $ {COOKIE_cookieName} referenzieren, wobei cookieName der Name Ihres Cookies ist. ABER, damit dies funktioniert, muss diese Eigenschaft in der Eigenschaftendatei festgelegt werden: CookieManager.save.cookies = true

Stellen Sie außerdem sicher, dass Sie in Ihrem Post angeben, ob die Variable mit Ihrem Cookie-Wert sein muss codiert oder nicht. Ich bin mir nicht sicher, ob JMeter die URL der Cookies verschlüsselt speichert oder nicht.

Wenn der Cookie jedoch kein erforderlicher Parameter ist, leitet der HTTP Cookie Manager alle erforderlichen Cookies automatisch weiter.

+0

Hallo, vielen Dank für Ihren Rat. Ich habe herausgefunden, was falsch ist. Ich habe ein unnötiges Kontrollkästchen in der HTTP-Anfrage überprüft. –