0

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

目前我正在使用JSR223 samplerJMeter 的 ForEach 控制器内部将所有内容附加clusterCodes到一个字符串中。它工作正常。但是使用这种方法,JSR223 采样器的请求计数非常高,并且在用户数量较多的情况下也需要很多时间。有没有更好的方法来实现这个目标?

4

1 回答 1

1

找到了解决方案。我曾尝试使用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

于 2013-04-17T08:38:26.343 回答