-2

There are 2 requests.

In the first request through the Regular Expression Extractor I get data that looks like

VAR_1=foo
VAR_2=bar
VAR_3=base
VAR_N=NNN
VAR_matchNr=N

The data is stored in the variable VAR.

In the second request I added the JSR223 preprocessor. I added the following code to it:

def array = []

1.upto(vars.get('VAR_matchNr') as int, { index ->
     array.add(vars.get('VAR_' + index))
})

vars.put('array', new groovy.json.JsonBuilder(array).toPrettyString());

When the script runs, everything is processed correctly, the data from the VAR variable is converted into an array.

enter image description here

I have the following question:

I need to pass the received data in the parameters of a POST request. Right now I'm passing through the ${array} variable. But the entire array is transferred at once and the request is executed incorrectly. enter image description here

How can I make sure that each array value in the query parameters is written as a separate parameter? At the same time, I don’t know for sure how many parameters there will be, there can be from 0 to 20 enter image description here

1 Answer 1

0

You need to amend "your" code to create HTTP Request sampler parameters dynamically on the fly instead of saving the matches into the JMeter Variable.

Something like:

def arguments = sampler.getArguments()

1.upto(vars.get('VAR_matchNr') as int, { index ->
     arguments.addArgument(new org.apache.jmeter.protocol.http.util.HTTPArgument("list[]", vars.get('VAR_' + index)))
})

sampler.setArguments(arguments)

See Apache Groovy: What Is Groovy Used For? article for more information on Groovy scripting in JMeter

Sign up to request clarification or add additional context in comments.

1 Comment

Thank you very much! Everything is working. I saw your answer to a similar question, but I couldn’t edit that code example and decided to ask a new question. Thank you!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.