【问题标题】:How to use responses from a Jmeter JDBC Request in a HTTP Request如何在 HTTP 请求中使用来自 Jmeter JDBC 请求的响应
【发布时间】:2014-07-24 01:12:38
【问题描述】:

这是我的情况:

我想这样做:

我有一个 MySQL 数据库中的 URL 列表,我想使用 HTTP 请求来查看响应是否为 404 的 HTTP 状态代码。

我已经这样做了:

  1. 添加并配置了 JDBC 配置元素。
  2. 添加并配置了 JDBC 请求采样器。基本上是一个选择语句,它返回一个包含 8 列的表。我为“变量名”字段提供了 8 个逗号分隔的变量,以便可以使用这些变量名来识别 JDBC 请求的结果。
  3. 创建了一个 HTTP 请求采样器,它在“服务器名称或 IP”字段中使用这些变量 ${url} 之一。

尽管 JDBC 请求完美运行并返回包含一堆行的表,但问题在于 HTTP 请求采样器从不从 JDBC 请求结果中提取变量。 HTTP 请求在“查看结果树”中如下所示:

GET http://${url}/

我尝试了以下解决方案:

  1. 将“将响应保存到文件”侦听器添加到 JDBC 请求。这将创建一个“.plain”类型的文件,而不是 CSV。如果它是 CSV,我可以通过创建 CSV 数据集配置来利用该 CSV 文件。所以这次尝试失败了。
  2. 我已尝试在上述尝试中强制文件名始终使用“C:\JMETERTest\data.csv”。但它最终会创建一个名为“C:\JMETERTest\data.csv1.plain”的新文件。这次尝试也失败了。
  3. 我尝试在 HTTP 请求的服务器名称字段中将 URL 列引用为 ${url_1}。有效。但现在的问题是,在结果树中,所有请求都只来自结果集的第一行的 URL。我看到这是因为上面 ${url_1} 中指定的行号“_1”。如果有人可以建议一种将“_1”参数化为我可以循环的变量(可能使用“计数器”元素)的方法,我可以使用它。我通过引用名称“loopCounter”创建了一个计数器配置元素。并在 HTTP 请求的服务器名称字段中使用它:

    ${url_("${loopCounter}")}

但现在我的 HTTP 请求看起来更糟糕了:

GET http://${url_("${loopCounter}")}/

这也没有用。

只有当我能够解决行号的参数化时,解决方案 3 才看起来更可行。 我也愿意接受 JMeter 插件的建议。 我会在继续的过程中更新我尝试的任何其他内容。

附注如果我的问题仍然不清楚,请告诉我。

【问题讨论】:

    标签: mysql jdbc jmeter export-to-csv jmeter-plugins


    【解决方案1】:

    在“将响应保存到文件”侦听器中,选中复选框“不添加后缀和前缀”。检查这两个选项将确保您获得准确的日志文件名。

    【讨论】:

      【解决方案2】:

      您是否尝试将 HTTP 采样器包装在 ForEach 控制器(父级)中,其中控制器的变量是从 JDBC 采样器获得的 URL 变量?

      此外,ForEach 中的输出变量将是您现在在 HTTP 采样器中使用的变量。

      这样,它将从索引的开头到结尾遍历每个变量,并每次运行一次采样器。

      【讨论】:

      • 感谢 Quinnlv。我认为这回答了我的问题。不过,我现在多了一个。 :P 除了我的 HTTP 请求的路径字段中的 URL,我想使用结果集中的另一列“siteID”作为索引,方法是在我的 HTTP 请求的名称中使用它。为此,我不认为我可以使用另一个 ForEach。这样,它将遍历每个 URL 的所有 siteID。有没有办法像你建议的那样(我也做了)URL,这次有两个变量:URL 和 siteID?
      • 希望它有效,如果有效,我希望你投票支持我的答案。
      • 您可能想为第二部分提出一个单独的问题,但简短的回答是您可以向 foreach 控制器添加一个计数器元素并使用它来引用您拥有的任意数量的索引变量 - 这个已回答 -stackoverflow.com/questions/12864796/… 这与您的第三个解决方案的实施方式类似。
      猜你喜欢
      • 2018-09-20
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多