JMeter – Free-Form Arrivals Thread Group

JMeter - Free-form Arrivals Thread Group

In the previous article, I have covered the Arrivals Thread Group which works on the rate of iteration per minute or second. To continue the same concept, Blazemeter added some more flexibility and created another JMeter Thread Group element called ‘Free-Form Arrivals Thread Group’. Arrivals Thread Group element has certain limitation, such as if you want to do a spike test then you can not create such a workload. Such type of workload can be easily prepared by using the flexible feature of Free-Form Arrivals Thread Group. Using Free-Form Arrivals Thread Group you can apply conditional load on the server. Free-Form Arrivals Thread Group also ramp-down the threads gracefully by letting the users, to complete the iteration before exiting from the test.

How to download ‘Free-Form Arrivals Thread Group’ plug-in?

  1. Click on the link to download Free-Form Arrivals Thread Group JMeter Plugin
  2. Unzip the folder
  3. Copy the file jmeter-plugins-cmn-jmeter-<version>.jar to lib folder of Apache JMeter
    apache-jmeter-<version> –>lib –> Paste jmeter-plugins-cmn-jmeter-<version>.jar
  4. Copy the files jmeter-plugins-casutg-<version>.jar and jmeter-plugins-manager-<version>.jar to ext folder of Apache JMeter
    apache-jmeter-<version> –>lib –>ext -> Paste jmeter-plugins-casutg-<version>.jar and jmeter-plugins-manager-<version>.jar

How to add ‘Free-Form Arrivals Thread Group’ in Test Plan?

  1. Select ‘Test Plan’ node
  2. Right-click on the ‘Test Plan’ node
  3. Hover the mouse on ‘Add’
  4. Hover the mouse on ‘Thread (Users)’
  5. Click ‘bzm – Free-Form Arrivals Thread Group’
Figure 01: Adding Free-Form Arrivals Thread Group

How to configure workload using ‘Free-Form Arrivals Thread Group’?

  1. Add the Free-Form Arrivals Thread Group in the test plan by following above described steps
  2. Provide the values for the below input fields:
    1. Start Value
    2. End Value
    3. Duration
    4. Time Unit
    5. Thread Iterations Limit
    6. Log Threads Status into File
    7. Concurrency Limit
Figure 02: Free-Form Arrivals Thread Group

What are the input fields of ‘Free-Form Arrivals Thread Group’?

  1. Name: To provide Thread Group name. It may be your Test Case/Test Scenario name
  2. Comments: To provide comments.
  3. Action to be taken after a Sampler error: Actions taken in case of sampler error occurs, either because the sample itself failed or an assertion failed etc. The possible choices are:
    1. Continue – ignore the error and continue with the test
    2. Start Next Loop – ignore the error, start next loop and continue with the test
    3. Stop Thread – current thread exits
    4. Stop Test – the entire test is stopped at the end of any current samples
    5. Stop Test Now – the entire test is stopped abruptly. Any current samplers are interrupted if possible.
  4. Thread Schedule (arrivals/min): Total number of iterations to be started in 1 minute. You have to input the iteration count value for
    1. Start Value
    2. End Value
    3. Duration
  5. Add Row: To add a new row in the Thread Schedule section.
  6. Copy Row: To copy the selected row in the Thread Schedule section.
  7. Delete Row: To delete the selected row in the Thread Schedule section.
  8. Time Unit: To change the input time unit either in minutes or in seconds.
  9. Thread Iterations Limit: Maybe the purpose of this option to control the loop count, but unfortunately it does not work so you may keep it blank.
  10. Log Thread Status into File: Provide the full path of the file along with the name where you want to save the log file. e.g. C:\PerfMatrix\Result\testLogFile.log
  11. Concurrency Limit: Provide the thread count to maintain the user concurrency.


Design a spike test scenario with the baseload 20 iterations/minute and the height of the spike would be 100 iterations/minute for one-minute duration. The total test duration would be 1 hour with 4 spike count.

Figure 03: Free-Form Arrivals Thread Group Example

Test Scenario which you can design

Leave a Reply

Your email address will not be published. Required fields are marked *