JMeter Integration and Testing

JMeter Integration and Testing

Contents:

Run JMeter Scripts in AIQ

Run JMeter scripts in AIQ when a JMeter asset is already part of the performance or protocol-testing workflow. Confirm that the script, data, plugins, and environment are suitable for repeatable execution before adding it to automated runs.

Pre-run checklist

Validation workflow

  1. Run the JMeter script locally or in a controlled environment first.
  2. Run a low-load AIQ execution before scaling.
  3. Review logs, assertions, response data, and generated reports.
  4. Separate JMeter script issues from application and load-generator bottlenecks.

Last updated: October 7, 2026

Correlation in JMeter for AIQ Tests

Last reviewed: September 22, 2026

Use correlation in JMeter when dynamic values from one response must be captured and reused in later requests during AIQ executions.

Validation workflow

  1. Record or inspect the request sequence and find dynamic values.
  2. Add the appropriate JMeter extractor for each value.
  3. Reference extracted variables in downstream requests.
  4. Run a single-user debug execution and confirm values update each iteration.
  5. Scale gradually and monitor errors that indicate missed correlation.

Note: Missed correlation is a common cause of false failures in performance tests.


Last updated: September 22, 2026

If you have feedback on this topic, contact documentation@appvance.ai.

Data Enabling in JMeter

We will follow the below steps to Data enable the JMeter script and run it successfully in AIQ.

  1. Create a JMeter script that works fine in JMeter and run the same in AIQ to make sure that the script is working fine. The screenshot of the working script is given below

    As from the above example, there are multiple websites that are used in the script. We can store all the above websites in a CSV sheet and have JMeter access the websites from the CSV sheet. The next step would be to data enable the JMeter script and make sure it runs fine.

  2. The next step would be to remove all the individual websites and store that in a CSV sheet and create a single HTTP request and have it access the website from the CSV. Please follow the below steps

    Create a CSV sheet with "Sites" as the column name and all the website details below it as shown below

    Add a CSV Data set config and enter the following details

    Right-click the thread group - Select Add - Select Config element - Select CSV Data Set Config.

    Note: Please make sure to use the data.csv file in the same location as the .jmx project and also CSV Data Set Config should be available on top of HTTP Request.

    Filename: Enter the name of the file

    File encoding: Should be left blank

    Variable Names: Should be left blank, If given data will be picked from the first column and the first entry in the CSV "SItes" will be picked and the script will fail

    Delimiter: Comma

    Add a new HTTP Request Sampler and Use the column name of the CSV sheet in the "Server Name or IP" as shown below

    Once the above setting is done the script is data enabled successfully. Run the script and check in the results tree

    All the values from the CSV have been picked successfully.

  3. Run the Same script in AIQ. Steps are given below

    Login to AIQ and click Build and Click File→New

    Select the Scenario test type as the Performance test

    Select the completion criteria as "Executions per user"

    Go to the Test cases tab and click "Edit" browse the JMeter script and select the JMeter file

    Go to Resources Click "Add Data Source" and browse the CSV file

    Save the scenario and run the test.

    Check the controller page and verify if the data is getting pulled from the CSV

    For Appvance IQ Reporting purposes, instead of reporting different values of a data-enabled script that causes duplicate entries, the parametrized step can be displayed as a variable name that way it does not show them as different steps instead it shows as a summary of those steps just like Appvance IQ designer enabled scripts, below are the steps for the same:

    The usage recommendation for dynamic parameters on how to add parameters so the Appvance IQ report will report the variable and not the different values. Basically, you have the URL's path and a parameters section. You should not put the query part in the path if you want to get a proper report using variable in Appvance IQ. The URL query parameters should go in the parameter section, for both POST and GET requests.

    You can notice in the below reporting, it displays as one step else this would have been displayed as 4 different steps with 4 different values taken from the datasheet.


Last updated: June 26, 2023

If you have any feedback on this topic, please contact us at documentation@appvance.ai

JMeter FAQ

  1. File Downloads from JMeter

  2. How to run Jmeter DB script in AIQ

  3. Jmeter - Java.lang.RuntimeException: Could not find the TestPlan class! Getting this error while running the scenario from AIQ.

  4. JMeter - Note able to see the transactions in the Reports or Test Controller.

  5. Jmeter - Steps Average duration calculation in Appvance IQ

  6. Jmeter: Error while running MySQL DB script

  7. Running JMeter Scripts in AIQ - Best Practices

  1. File Downloads from JMeter

    1. In JMeter, we need to add a "Save Responses to a file" listener to save the file downloads, we can provide a file name prefix or even the directory path for the download file.

      Please refer to below screenshot on how to add "Save Responses to a file" Listener

      For each sample in its scope, it will create a file of the response Data. The file name is created from the specified prefix, plus a number (unless this is disabled, see below). The file extension is created from the document type if known. If not known, the file extension is set to 'unknown'. If numbering is disabled, and adding a suffix is disabled, then the file prefix is taken as the entire file name. This allows a fixed file name to be generated if required. The generated file name is stored in the sample response and can be saved in the test log output file if required.

      The current sample is saved first, followed by any sub-samples (child samples). If a variable name is provided, then the names of the files are saved in the order that the sub-samples appear. See below.

      Please find below the detailed description of the parameters used

      Without providing the path, the file gets saved in the "JMeter/bin" directory.

      We can mention the path in the "Save Responses to a file" listener as seen below and this script can be used in Appvance IQ.

      File downloaded after running the scenario from Appvance IQ

  2. How to run Jmeter DB script in AIQ

    1. We assume that the reader has knowledge of how to create a scenario and run the test in AIQ

      The user creates a new scenario and selects a functional test

      Navigates to Test case tab and selects Test type as "Jmeter" and attaches the Jmeter script which ran successfully in Jmeter

      User now saves the scenario and runs the tests and navigates to Test Controller screen and verifies the output

      In the above scenario we are running a simple functional test in AIQ. However if the user wants to run a Load test we will have to make some changes in the Jmeter script. The below screenshot highlights the changes that needs to be done to run the Load test in AIQ.

      Need to check in the Thread Group the option Delay Thread Creation Until Needed. Once the changes is made we can go ahead and save the script.

      User creates a Load test scenario with 5 users and 100 executions

  3. Jmeter - Java.lang.RuntimeException: Could not find the TestPlan class! Getting this error while running the scenario from AIQ

    1. Solution : Please add htmlunit - 2.15.2648 bundle.

      Navigate to Scenario builder and open the scenario created.

      Navigate to Resource Panel and click Add bundle.

      Add htmlunit with version as 2.15.2648, Save and Re-run the scenario.

  4. JMeter - Note able to see the transactions in the Reports or Test Controller

    1. Resolution: Add a new bundle 'httpclient' with value '4.3.4' in the Resources panel of the Scenario Builder, Save and re-run the scenario to see the results in Reports as well as in Test Controller

  5. Jmeter - Steps Average duration calculation in Appvance IQ

    1. The below example gives a detailed explanation of how Step's average duration is calculated in the Jmeter-Appvance IQ combination.

      1.3 TC01_DealID_03 - Average duration is 1.33 secs

      All the requests below and calculations are shown below.

      Number of Success transaction * Average duration of each request

      72*10.92 = 786.24

      37*3.23 = 119.51

      36*2.15 = 77.4

      37*0.93 = 34.41

      36*0.9 = 32.4

      580*0.04 = 23.2

      36*0.48 = 17.28

      36*1.88 = 67.68

      Addition of all the successful transactions.

      72+37+36+37+36+580+36+36 = 870

      786.24 + 119.51 + 77.4 + 34.41 + 32.4 + 23.2 + 17.28 + 67.68 = 1158.2

      1158.2/870 = 1.33

  6. Jmeter: Error while running MySQL DB script

    1. The user tries to run a MySQL DB script in Jmeter and receives the below error

      Java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/apc

      The error message is self-explanatory stating that there is no suitable driver for running the MySQL script. For the script to run successfully we need to download the MySQL connector jar file and place it under the lib folder of Jmeter

      For Ex:

      If the Jmeter is in the C folder we need to place the mysql-connector-java-5.1.37-bin.jar in C:\Program Files\apache-jmeter-2.13\lib

      Download link :

      http://dev.mysql.com/downloads/connector/j/

      and download the Zip file, Extract the file and copy the mysql-connector-java-5.1.37-bin.jar and place it in the lib folder of Jmeter

  7. Running JMeter Scripts in AIQ - Best Practices

    1. Disable the "View Result Tree" listener during the Load test in AIQ. Because it consumes more memory and causes JMeter running to run out of memory

      1. Disable any other listeners from the Jmeter script before running it in AIQ

      2. The number of Threads should be given 1 in Jmeter when running performance tests in AIQ because this will add up to the iterations

      3. Better to give Ramp-up as 0 in Jmeter

      4. Same as Number of Threads, loop count to be given as 1 by default

      5. Thread group - Use continue, Stop test now accordingly, using stop now will stop all other remaining threads when a thread is a failure


Last updated: June 26, 2023

If you have any feedback on this topic, please contact us at documentation@appvance.ai