Rakesh Mahendrakar
Rakesh Mahendrakar

Reputation: 99

Jmeter JDBC Request with While Controller

I am new to JMeter and trying to learn along in my job.

I am performing JMeter JDBC Request for a query which returns the status code. The status code initially is '0' after some backend process it will be updated to '3'.

I want to find out what was the time taken for the status to move from '0' to '3' using WHILE Controller. Any help is appreciated!!

Upvotes: 0

Views: 1058

Answers (1)

Dmitri T
Dmitri T

Reputation: 168197

  1. Define an arbitrary JMeter Variable name under Variable Names function of the JDBC Request sampler, i.e. myVar

    enter image description here

  2. Put your JDBC Request sampler under the While Controller and use the following condition:

    ${__groovy(!vars.get('myVar_1').equals('3') ,)}
    

    According to JDBC Request sampler documentation:

    If the Variable Names list is provided, then for each row returned by a Select statement, the variables are set up with the value of the corresponding column (if a variable name is provided), and the count of rows is also set up.

    so given your query returns a single row with the status you will have it as ${myVar_1}. The above __groovy() function checks if the ${myVar_1} variable value is equal to 3 or not

    enter image description here

    as you can see, the JDBC Request sampler has been executed 4 times, first time myVar_1 has not been yet defined and on subsequent requests it incremented from 0 to 3. Once it reached 3 - the While Controller loop breaks and the test goes further

  3. In order to get the cumulative time of all JDBC Request samplers executions put the whole construction under the Transaction Controller:

    enter image description here

Upvotes: 2

Related Questions