【问题标题】:JMeter get jdbc request data and send each with http post request in a spring service how-toJMeter 获取 jdbc 请求数据并在 Spring 服务操作方法中使用 http post 请求发送每个数据
【发布时间】:2014-02-12 22:30:14
【问题描述】:

我最近使用了 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} 发送到春季服务。

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

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

【问题讨论】:

    标签: jdbc jmeter http-request-parameters


    【解决方案1】:

    好的,据我所知,我必须在“JDBC 请求”和“ForEach 控制器”之间使用“BeanShell 采样器”。 然后使用 beanShell 脚本获取数组的长度,编写脚本:

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

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

    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));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      相关资源
      最近更新 更多