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

JMeter:是否可以在运行期间添加HTTP请求采样器?,jmeter,jmeter-5.0,Jmeter,Jmeter 5.0,我有一个HTTP请求,它返回一个包含多个URL(主要是图像资源)的JSON对象。 我不知道响应JSON中的URL的数量,这个数量可能会随着时间的推移而变化。 我需要为收到的每个URL创建一个HTTP请求 运行JMeter流时是否可以创建HTTP请求采样器? 为了向URL列表发送HTTP请求,是否有其他解决方案可以建议我执行 谢谢 作为主请求的子请求添加,并提供一个表达式来提取指向图像的链接以及您想要点击的任何其他URL 添加并配置它以读取步骤1中的引用名称,并将输出变量设置为任何有意义的值 将s

我有一个HTTP请求,它返回一个包含多个URL(主要是图像资源)的JSON对象。 我不知道响应JSON中的URL的数量,这个数量可能会随着时间的推移而变化。 我需要为收到的每个URL创建一个HTTP请求

运行JMeter流时是否可以创建HTTP请求采样器? 为了向URL列表发送HTTP请求,是否有其他解决方案可以建议我执行

谢谢

  • 作为主请求的子请求添加,并提供一个表达式来提取指向图像的链接以及您想要点击的任何其他URL
  • 添加并配置它以读取步骤1中的引用名称,并将输出变量设置为任何有意义的值
  • 将sampler添加为ForEach控制器的子级,并将其配置为使用输出变量
  • 就是这样,JMeter将为原始JSON中的每个URL触发HTTP请求采样器

    • 假设您拥有以下JSON:

      {
        "urls": [
          {
            "url": "http://example.com"
          },
          {
            "url": "http://jmeter.apache.org"
          },
          {
            "url": "http://jmeter-plugins.org"
          }
        ]
      }
      
    • 您可以使用以下JSON提取器设置将URL提取到JMeter变量中:

      它将为您提供以下JMeter变量:

      url_1=http://example.com
      url_2=http://jmeter.apache.org
      url_3=http://jmeter-plugins.org
      url_matchNr=3
      

    • 现在,如果添加ForEach控制器并将其配置为:

    • 您将能够在HTTP请求采样器中将url引用为
      ${current_url}
      ,HTTP请求采样器是ForEach控制器的子级


    ForEach控制器内的HTTP请求采样器使用${current_url},但它也在请求之前添加了“HTTP://”。因此,它无法
    获取http://[http://www.some url]/
    将您的
    ${current\u url}
    放入HTTP请求采样器的“路径”部分