JMeter Parameter Setting – Random Each Occurrence

JMeter is a freeware tool which is in high demand. But lack of some features restricts JMeter to become a powerful tool. One of them is not getting some important features directly like Parameter Setting which is easily available in LoadRunner (Refer to LoadRunner Parameter Settings). As this feature is not directly available in JMeter, so you need to make use of some of the existing elements in the JMeter and implement the mode of accessing the parameter value as required. In this article, you will learn how to implement the random value of a parameter at each occurrence in JMeter. For this purpose, you would require 4 elements to add under Thread Group:

  1. Loop Controller
  2. Counter
  3. Random CSV Data Set Config (Download from Blazemeter site)
  4. BeanShell Sampler

The Parameter file i.e. CSV file has the following values:

Figure 01: CSV File with Parameter Value

Add all the above-mentioned elements under a thread group (Refer to Figure 02)

JMeter Parameter Setting - Random Each Occurrence
Figure 02

Click ‘Loop Controller’ and provide the value in the ‘Loop Count’ field which should be equal to the number of occurrences. In this example, I have taken 3 as loop count i.e. I want to use 3 values from the list within the same iteration. Refers to Figure 03.

JMeter Parameter Setting - Random Each Occurrence
Figure 03

Let’s have a look at the bzm – Random CSV Data Set Config and apply the same in your scenario. Make sure you provide the correct CSV file path and variable name.

JMeter Parameter Setting - Random Each Occurrence
Figure 04

The ‘Counter’ element is used to generate a new variable each time in which parameter value will be substituted in the sampler request (Pay attention to number format as in a similar way it has to be substituted in sampler request)

JMeter Parameter Setting - Random Each Occurrence
Figure 05

Now, write the given code the BeanShell Sampler. This code will read the value from the CSV file and assign it to the variable name generated by the counter.

JMeter Parameter Setting - Random Each Occurrence
Figure 06

So, here we have completed the set-up to generate the random value at each occurrence of the parameter.

Now, come to the sampler request part where we will use these variables. To illustrate the scenario, I have used a dummy sampler. Let’s consider my original request is below.

Figure 07

Now, I will modify the request as per the setup to pass the different values from the parameter list at each occurrence.

Figure 08

Now, run the test and see the result in the ‘View Result Tree’ listener.

Figure 09
Figure 10

Important Notes:

  1. Make sure you have sufficient test data to simulate the ‘Random Each Occurrence’ scenario.
  2. The ‘Recycling of Test Data’ setting can be controlled by bzm – Random CSV Data Set Config element setting. Use this setting wisely.

You may be interested: