Jfegan91
Jfegan91

Reputation: 147

Apache Jmeter extracting __RequestVerificationToken and using it to log in

I am currently using Jmeter to automate this process however I am not able to automate the login process. I have used the following regular expression to extract the __RequestVerificationToken <input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=/\-\_]+?)">

enter image description here

I then proceed to request the token when attempting to log in

When running the test however I am receiving Response code of 500. When investigating the request data the token is not being pulled correctly

enter image description here

Upvotes: 4

Views: 1406

Answers (3)

Dmitri T
Dmitri T

Reputation: 168122

Remember not to use regular expressions to parse HTML data. It is a real headache to develop and maintain regular expressions dealing with HTML code, moreover regular expressions are very sensitive to any markup change (line break, extra space, attributes order change, etc.) so I would recommend considering switching to CSS/JQuery Extractor instead. The relevant configuration will be as simple as:

  • Reference name: anything meaningful, tok will be fine
  • CSS/JQuery Expression: input[name=__RequestVerificationToken]
  • Attribute: value

This way you will have robust and reliable way of extracting the __RequestVerificationToken value.

Demo:

JMeter CSS Jquery Extractor

See How to Use the CSS/JQuery Extractor in JMeter article for more information.

Upvotes: 3

Adnan
Adnan

Reputation: 2547

You have used,

Reference Name: tok

and from Screenshot 2 it's clearly visible that

__RequestVerificationToken=%20%7Btok%7D

So, my guess is you have stored the value in the variable tok but used the variable literally. You have to use ${tok} to replace the value stored in the Reference.

Upvotes: 0

Ori Marko
Ori Marko

Reputation: 58822

Your regular expression was missing one escaping character:

<input name="__RequestVerificationToken" type="hidden" value="([A-Za-z0-9+=\/\-\_]+)">

You can check regex

Upvotes: 0

Related Questions