Reputation: 99
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
Reputation: 168197
Define an arbitrary JMeter Variable name under Variable Names
function of the JDBC Request sampler, i.e. myVar
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
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
In order to get the cumulative time of all JDBC Request samplers executions put the whole construction under the Transaction Controller:
Upvotes: 2