JMeter在Spring Service How-to中获取jdbc请求数据并使用http post请求发送每个数据
问题内容:
我最近使用了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请求控制面板的“变量名称”字段中定义。(在每个变量中返回10个值,因此我将它们视为数组)
然后我使用“ For
Each”控制器尝试循环到值中,但我不能。进入“对于每个”控制器面板,如果我将其设置为“输入变量前缀”(例如,id)和“输出变量名称”变量,则循环可以正常工作,然后${variable}
在spring服务中使用内部的http请求发送。
但是我想每次都以字符串形式发送一行(id [i] +名称[i] +姓氏[i])。怎么办
我还尝试编写一些脚本来使用beanshell预处理程序定义此字符串,但没有任何效果。
问题答案:
好的,据我所知,我必须在“ JDBC请求”和“ ForEach控制器”之间使用“ 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));
}