JMeter:是否可以在运行期间添加HTTP请求采样器?

问题描述 投票:0回答:1

我有一个HTTP请求,返回包含多个URL(主要是图像资源)的JSON对象。我不知道响应JSON中的URL的数量,并且该数字可能在时间上有所不同。我需要为我收到的每个网址创建一个HTTP请求。

是否可以在运行JMeter流时创建HTTP请求采样器?是否有一个不同的解决方案可以建议我做的是将HTTP请求发送到网址列表?

谢谢

jmeter jmeter-5.0
1个回答
2
投票
  1. 添加JSON Extractor作为主要请求的子项,并提出JSON Path表达式来提取图像链接以及您想要点击的任何其他URL
  2. 添加ForEach Controller并将其配置为从步骤1读取JMeter Variable引用名称并将输出变量设置为有意义的任何内容
  3. HTTP Request采样器添加为ForEach控制器的子级,并将其配置为使用输出变量
  4. 就是这样,JMeter将为原始JSON中存在的每个URL触发HTTP请求采样器

  • 鉴于您有以下JSON: { "urls": [ { "url": "http://example.com" }, { "url": "http://jmeter.apache.org" }, { "url": "http://jmeter-plugins.org" } ] }
  • 您可以使用以下JSON Extractor设置将URL提取到JMeter变量中: enter image description here 它将为您提供以下JMeter变量: url_1=http://example.com url_2=http://jmeter.apache.org url_3=http://jmeter-plugins.org url_matchNr=3 enter image description here
  • 现在,如果您添加ForEach控制器并将其配置为: enter image description here
  • 您将能够在HTTP请求采样器中引用URL作为${current_url},它是ForEach控制器的子代 enter image description here
© www.soinside.com 2019 - 2024. All rights reserved.