首页 > 解决方案 > 如何在每次调用之前动态更改路径时从 jmeter 发出异步 http 请求

问题描述

以下是我需要执行的步骤

  1. 对返回具有许多 url 的 json 的服务进行 http 请求调用。
  2. 使用正则表达式提取器提取所有 url
  3. 异步对所有提取的 url 进行 http 请求调用。

有没有办法我们可以做到这一点?我尝试了并行控制器,但如果我没记错的话,它需要将所有请求都作为其子采样器提及。我不想手动编写每个请求。有没有办法在运行测试计划后动态更改 url?

标签: asynchronousjmeterbeanshell

解决方案


  1. 如果服务器返回 JSON 格式的 URL,最好使用JSON Extractor

  2. 一旦您拥有 JMeter 变量形式的 URL,例如:

    url_1=http://example.com
    url_2=http://example.org
    ........
    ........
    url_matchNr=X
    
    • 并行采样器添加到您的测试计划

    • 添加JSR223 PreProcessor作为并行采样器的子级

    • 将以下代码放入“脚本”区域:

       1.upto(vars.get('url_matchNr') as int, { index ->
           sampler.addURL(vars.get('url_' + index))
       })
      

推荐阅读