1

我最近使用了 jmeter,我尝试从 jdbc 请求中获取一些数据,并使用 http 请求将它们发送到 spring 服务中。

让我更具体地解释一下。

我使用这个查询:

SELECT MEMBER_ID, 
       PERSON_NAME, 
       PERSON_SURNAME 
FROM MEMBER, 
     PERSON 
WHERE CDT_MEMBER_ID = CDT_PERSON_ID

从上面的请求中,插入这些变量的值:id、name、surname,我在 JDBC 请求控制面板的“Variables names”字段中定义。(在每个变量中返回 10 个值,所以我将它们视为数组)

然后我使用“For each”控制器尝试循环输入值,但我不能。进入“对于每个”控制器面板,如果我将 id 设置为“输入变量前缀”(例如)并设置为“输出变量名称”变量,则循环正常工作,然后使用内部 http 请求,我${variable}在 spring 服务处发送。

但我想每次发送一行作为字符串(id[i] + name[i] + surname[i])。怎么能做到这一点?

我还尝试编写一些脚本来使用 beanshell 预处理器定义这个字符串,但没有任何效果。

4

1 回答 1

1

好的,据我所知,我必须在“JDBC Request”和“ForEach Controller”之间使用“BeanShell Sampler”。然后使用 beanShell 脚本获取数组的长度,编写脚本:

Integer x = Integer.parseInt(vars.get(dataId_#)); 

在 for 循环中,我将数据插入到 String 数组中,如下所示:

String[] dataArray = new String[x];
for (i = 0; i < x; i++) {
vars.put("dataArray_" + i, vars.get("dataId_" + i) + " " + vars.get("name_" + i) + " " + vars.get("surname_" + i));
}
于 2014-02-13T09:19:58.603 回答