jmeter:迭代并在每个请求中递增,然后返回



我有jdbc请求,该请求返回一个字符串:"这是一个示例"。我希望能够按字符(即:var_1 = t,var_2 = h,var_3 = i等(将该字符串分开,并在http请求中迭代它们。不仅迭代,还可以将搜索模式递增每个请求,然后在末尾减小,例如:

  1. 请求:T
  2. 请求:
  3. 请求:thi
  4. .....
  5. 请求:thi
  6. 请求:
  7. 请求:T

现在,我正在使用一个由JDBC请求,JSR223 Sampler组成的线程组(我也尝试了Beanshell Sampler,但也没有成功。响应断言。我无法使它起作用,因为我陷入了JSR223配置。我猜正确的beanshell脚本可以解决这个问题,但我很吮吸groovy脚本。

在您的JDBC请求之后,在代码区域中使用以下代码添加beanshell采样器:

String MyVar = vars.get("MyVar");\ MyVar is the name of the variable that hold the string returned from your JDBC request.
int x = MyVar.length();
for(i=3;i<=MyVar.length();i++){
    vars.put("Var_" + (i-2), MyVar.substring(0,i));
    vars.put("Var_" + (x * 2 - i -1), MyVar.substring(0,i));
}

然后配置您的foreach控制器如下:

  • 输入变量前缀: Var
  • 输出变量名称: variable

现在您可以在HTTP请求中使用${variable},该请求将保持您想要的值。

最新更新