Jmeter:迭代并递增每个请求然后返回
Jmeter: iterate and increment with every request then go back
我 JDBC 请求 returns 一个像这样的字符串:"this is an example"。我希望能够按字符拆分该字符串(即:var_1=t、var_2=h、var_3=i 等)并在 HTTP 请求中迭代它们.不仅迭代,而且每次请求都会增加搜索模式,然后在最后减少,如:
- 请求:t
- 请求:th
- 请求:thi
- .......
- 请求:thi
- 请求:第
- 请求:t
现在我正在使用一个由 jdbc 请求组成的线程组,jsr223 采样器(我也尝试过使用 beanshell 采样器,但也没有成功..),一个 forEach 控制器来遍历值,一个 http 请求和一个响应断言。我一直无法让它工作,因为我卡在了 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}
,它将包含您想要的值。
我 JDBC 请求 returns 一个像这样的字符串:"this is an example"。我希望能够按字符拆分该字符串(即:var_1=t、var_2=h、var_3=i 等)并在 HTTP 请求中迭代它们.不仅迭代,而且每次请求都会增加搜索模式,然后在最后减少,如:
- 请求:t
- 请求:th
- 请求:thi
- .......
- 请求:thi
- 请求:第
- 请求:t
现在我正在使用一个由 jdbc 请求组成的线程组,jsr223 采样器(我也尝试过使用 beanshell 采样器,但也没有成功..),一个 forEach 控制器来遍历值,一个 http 请求和一个响应断言。我一直无法让它工作,因为我卡在了 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}
,它将包含您想要的值。