I have recorded a simple script for login-logout into an application using a browser. I checked the recorded script and everything looks good, it recorded login in, homepage and logout.

However, when I reply it back, I have got a response message for the login request says:"500This page has been expired Possible reasons, 1. Opened too many browser windows (or closed using the X button instead of button). 2. Session with Cassiopae has expired. Suggestion: Please close all Cassiopae windows and re-login. Currently the following screens are open None."

I checked the cookies and ids and been handled correctly using JMeter HTTP Cookie Manager. What possible other reasons could be leading to this failure.

Thanks for any help

  • Have you checked what it says in the error message? – DavidPostill Jul 12 at 19:44
  • I did get an error message. The request was passed (with Response Code: 200 and Response Message: OK). The above message was the only thing I have got from Response data->Response Body section in View Result Tree. Is there a way to get a read error message? How? Thanks – Nawar Youssef Jul 12 at 20:02
  • I meant the stuff it suggested in the response message in the question. – DavidPostill Jul 12 at 20:16
  • Yes, I checked them. For number 1: the X red button on the upper right of the window is the only way to close it after finish. Also, the last sentence in the message doesn't make sense to me, any explanation? – Nawar Youssef Jul 12 at 22:02
  • You likely have unhandled dynamic data in your request that needs buttoning up – James Pulley Jul 17 at 18:58

In the absolute majority of cases you cannot just record and replay the test using JMeter's HTTP(S) Test Script Recorder modern web applications widely using dynamic parameters for i.e. client-side state tracking or security reasons

My expectation is that you're passing a recorded hard-coded value when your application under test expects it to be dynamic.

  1. Make sure to add HTTP Cookie Manager to your test plan, if your application maintains user sessions based on cookies - it should be enough to handle it.
  2. Although point 1 is a must, it might be not enough in case if dynamic parameter doesn't belong to cookies. In this case you will have to perform manual correlation to wit:

    • identify dynamic request parameters
    • extract them from the previous response using a suitable JMeter PostProcessor and store them into JMeter Variables
    • replace recorded hard-coded values with the variables from the previous step.
  • Yes I already did what you have suggested. However, I got a _flowExecutionKey that I think need to be correlated, but I couldn't find the source of this key (where I should extract it from) Are _flowExecutionKeys usually need to be correlated? – Nawar Youssef Jul 15 at 17:45
  • I think the reason is mostly related to the _flowExecutionKey token that need to be correlated. the problem is that I can't find the source of this token to extract it from. Any suggestions? – Nawar Youssef Jul 16 at 4:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.