Cookie-Manager von Apache JMeter fügt den Cookie nicht zur POST-Anfrage hinzu

8

Ich baue einen sehr einfachen Testplan auf.

  1. Anmeldung: POST, ein Sitzungscookie wird zurückgegeben.
  2. Erhalten Sie den Status: GET, ein Benutzerstatus wird zurückgegeben.
  3. Erstellen Sie eine Ressource: POST, JSON-Text wird für die Ressource bereitgestellt.

Also sieht mein 'Testplan' so aus:

  • Testplan
    • Fadengruppe
      • HTTP-Anforderungsstandards
      • HTTP-Cookie-Manager
      • Anmeldung (HTTP Request Sampler: POST)
      • Status abrufen (HTTP-Abfrage-Sampler: GET)
      • Erzeuge Ressource (HTTP Request Sampler: POST)

Der von 'Login' generierte Cookie wird zu 'Get State' korrekt hinzugefügt.
Aber "Create Resource" hat KEINE Cookies. Ich habe ihre Bestellung geändert, aber es hilft nicht. Ich habe zuerst die Standardoptionen verwendet und einige Optionen geändert, aber es hilft auch nicht.

Ist es ein Fehler von JMeter? oder nur POST HTTP-Anfrage ist nicht in der Lage, Cookie zu haben?
Bitte geben Sie mir einen Rat.

[Gelöst]
Ich habe bemerkt, dass es sich auf den Pfad bezieht, nicht auf die Methode Sie möchten sowohl die Domäne des Cookies als auch den Pfad betrachten. Ich meine, der Pfad und die Domäne eines Cookies könnten serverseitig über den Set-Cookie-Header definiert werden.

    
user1254330 19.10.2012, 02:35
quelle

1 Antwort

3

Eine andere Lösung besteht darin, CookieManager.check.cookies = false in der Datei jmeter.properties zu setzen, die normalerweise neben dem jmeter-Startskript in bin steht.

JMeter denkt aus bestimmten Gründen, dass Sie den Pfad = / etwas in einem Cookie nicht setzen können, wenn Sie sich auf http: / somesite / somethingselse befinden. Das heißt, der Pfad muss mit dem Pfad übereinstimmen, auf dem Sie sich gerade befinden.

Ich habe noch nie erlebt, dass ein Browser diese Einschränkung durchsetzt, wenn sie tatsächlich existiert. Ich habe mehrere Seiten gesehen und geschrieben, die diese Technik verwenden, um einen sicheren Cookie zu setzen und dann jemanden an / admin weiterzuleiten.

Ich wünschte, diese Option wäre zumindest in der GUI, also musste ich die Eigenschaftendatei nicht ändern. Ich denke, BlazeMeter ist schlau genug, um zu überprüfen, wo flood.io nicht ist. Wenn es nach mir ginge, würde ich einfach den Code entfernen, der das vollständig überprüft. Warum sollte der Belastungstester schwerer sein, als es sein muss?

    
Eric Twilegar 20.12.2013 19:33
quelle

Tags und Links