Reputation: 1107
For my JMeter test, I would like all threads in the test to use one shared session id. The session id is known before I start the test job. How do I specify a specific JSessionId for my JMeter test?
I've tried appending a JSessionId parameter in the HTTP Cookie Manager (under user-defined cookies), in the HTTP Request Defaults (under send parameters with the request), and I tried adding a 'HTTP URL Re-writing Modifier' from the Pre-Processor tab under the Recording Controller. None of these have worked. Which step is the best way to set a fixed session id for my JMeter test?
Upvotes: 3
Views: 23807
Reputation: 129
You need to add jp@gc-JSON Path Extractor
in HTTP request, the particular HTTP request which is generating session id in its response data .
If response is like:
{"sessionId":"f5b06970-f00f-4b44-89c8-305738e19cba","loginDate":1483599209337}
In JSON path extractor add:
$.sessionId
(this will vary according to the JSON response)NOT_FOUND
Now the next step is to use this variable named "session". You can use it in your HTTP request for which you need to pass session id under HTTP header manager as x-auth-token = ${session}
Upvotes: 2
Reputation: 5004
You were correct when you tried to use the HTTP Cookie Manager, this should do what you need.
Probably, it didn't work for one of two reasons:
You either have the Cookie Manager in the wrong place. To affect all requests it should be at the root of the Test Plan or Thread Group.
Or, more likely, you didn't specify all the required values properly when you added the User Defined Cookie. This can be tricky to get working; have you made sure you're not using 'http://' in the domain
field?
Upvotes: 2