Mayank
Mayank

Reputation: 71

How to get print the value of a variable which is extracted by regural expression extractor in JMeter

I am trying to track the value by printing it to the log but getting void as an answer.enter image description here

Upvotes: 2

Views: 6328

Answers (2)

Dmitri T
Dmitri T

Reputation: 168157

The easiest way to see the variable names along with values is using Debug Sampler

Debug Sampler

However if you need to print all the extracted values to JMeter log for some reason you need to slightly change your script to look like:

log.info("Detected " + vars.get("urls_matchNr") + " URLs");

for (int i=1; i<= Integer.parseInt(vars.get("urls_matchNr")); i++) {

    log.info("URL # " + i + ": " + vars.get("urls_" + i));

}

vars stands for JMeterVariables class instance so this way you get read/write access to all Jmeter Variables in scope.

Beanshell Log Variables

See How to Use BeanShell: JMeter's Favorite Built-in Component article for more information on Beanshell scripting in JMeter

Upvotes: 1

Gayathri
Gayathri

Reputation: 1

There are 2 problems in your script.

1) You are extracting Match No: -1, which is not right (Check your regular expression extractor). You can either chose 0 for random match or any positive number for the respective match.

2) In BeanShell assertion, you are trying to retrieve the value as logs.info("the" +urls);- which is not the right way to do. To get the value of a variable in BeanShell we have to use "vars.get" method.

So change your assertion to logs.info("the" +vars.get("urls")); and try once.

Upvotes: 0

Related Questions