JMeter:从JDBC sampler结果数组到字符串

时间:2013-04-17 06:05:30

标签: jmeter

在我的JMeter测试计划中,其中一个JDBC采样器返回多个名为clusterCode的值。现在我想在下一个JDBC请求中使用这些值,如select userID from users where clusterCode in ('foo1','foo2','foo3');

目前我在JMeter的ForEach控制器中使用JSR223 sampler将所有clusterCodes附加到字符串。它工作正常。但是使用这种方法,JSR223采样器请求数的数量非常高,而且用户数量也增加了很多时间。有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

找到解决方案。我曾尝试使用JSR223 post-processor,但我的实施是错误的。我现在已经开始工作了。以下是代码:

var strClusterCodes1= "'" + vars.get("clusterCodes_1") + "',";
var msglength = vars.get("clusterCodes_#");

for (var position = 0; position < msglength; position++) {
    strClusterCodes1 +=  "'" + vars.get("clusterCodes_" + msglength) + "',";
}

strClusterCodes1 =strClusterCodes1.substring(0,strClusterCodes1.lastIndexOf(","))
vars.put("strClusterCodes",strClusterCodes1);

因此,我发现数组中的元素数量为clusterCodes_#,并将带有for循环的数组的所有元素追加到字符串中。我的工作由一个JSR223 post-processor完成。