我是JMeter的新手,正在尝试学习工作。
我正在对返回状态码的查询执行JMeter JDBC请求。经过一些后端处理后,状态码最初为“ 0”,它将更新为“ 3”。
我想找出使用WHILE控制器将状态从“ 0”转换为“ 3”所花费的时间。任何帮助表示赞赏!
答案 0 :(得分:1)
在JMeter Variable采样器的Variable Names
函数下定义任意JDBC Request名称,即myVar
将您的JDBC Request采样器放在While Controller下,并使用以下条件:
${__groovy(!vars.get('myVar_1').equals('3') ,)}
根据JDBC Request采样器文档:
如果提供了“变量名”列表,那么对于Select语句返回的每一行,将使用相应列的值(如果提供了变量名)来设置变量,并且还设置行数起来
因此,给定您的查询返回单行,其状态为${myVar_1}
。上面的__groovy() function检查${myVar_1}
变量值是否等于3
如您所见,JDBC Request采样器已经执行了4次,第一次尚未定义myVar_1
,并且在随后的请求中,它从0递增到3。一旦达到3,则-While控制器循环中断并且测试进一步进行
为了获得所有JDBC Request采样器执行的累积时间,将整个结构放在Transaction Controller下: