以下是我的情况:
我想这样做:
我有一个MySQL数据库中的URL列表,我希望使用HTTP请求来查看该响应是否为HTTP状态代码为404.
我这样做了:
虽然JDBC请求完美无缺并返回一个包含一堆行的表,但问题是HTTP Request Sampler永远不会从JDBC Request结果中获取变量。 HTTP请求在'查看结果树':
中看起来像这样GET http://${url}/
我尝试过这些解决方案:
我尝试在HTTP请求的服务器名称字段中将URL列引用为$ {url_1}。有效。但现在的问题是,在结果树中,所有请求仅从结果集的第一行开始。我看到这是因为行号' _1'在上面的$ {url_1}中指定。我可以使用这个,如果有人可以建议一种方法来参数化' _1'到我可以循环的变量(可能使用' Counter'元素)。我通过参考名称' loopCounter'创建了一个计数器配置元素。并在HTTP请求的服务器名称字段中使用它:
$ {URL _(" $ {循环计数器}")}
但现在我的HTTP请求看起来很简单:
GET http://${url_("${loopCounter}")}/
这也不起作用。
解决方案3看起来更可行,只有我可以解决行号的参数化。 我也对JMeter插件建议持开放态度。 我将继续更新我尝试的任何其他内容。
P.S。如果我的问题不清楚,请告诉我。
答案 0 :(得分:1)
您是否尝试将HTTP采样器包装在ForEach控制器(父级)中,其中控制器的变量是从JDBC采样器获取的URL变量?
此外,ForEach中的输出变量将是您现在在HTTP采样器中使用的变量。
这样它会遍历每个变量,从索引的开头到结尾,每次运行一次采样器。
答案 1 :(得分:0)
在“保存对文件的响应”监听器中,选择“复选框”“不添加后缀和前缀”。检查这两个选项将确保您获得准确的日志文件名。