如何在jmeter中使http请求中的搜索参数为动态的

How to make the search parameters in http request as dynamic in jmeter

http请求:http://ipAddress:Port/SomeResource?Param1=value1&Param2=value2&......

等等。 这是 jmeter 中的一个 http 请求示例,它点击 rest api 并以 JSON 格式获得响应。

这里的挑战是 Param1、param2、param3 ....这些搜索参数编号不是恒定的,它可能会根据调用而变化,所以我正在制作一个 csv 文件,其中包含以逗号分隔格式包含搜索参数的行.

CSV file is like
param1,param2
param1,param2,param3
param1

我正在使用 CSV 数据配置从 csv 文件中提取数据并将其放入 http 请求

并将其放入 http 请求中,如

现在如果参数为 null 我不想在 http 请求中看到这个 header 那么如何在 jmeter 中执行此操作。

  1. HTTP Request中删除所有"Parameters",它应该是干净的

  2. 添加 JSR223 PreProcessor 作为您要参数化的 HTTP 请求采样器的子项
  3. 将以下代码放入"Script"区域:

    1.upto(4, {
        if (vars.get('param' + "$it") != null) {
            sampler.addArgument(vars.get('param' + "$it"),'someValue')
        }
    })
    
  4. 添加 JSR223 PostProcessor 作为您要参数化的请求的子项
  5. 将以下代码放入"Script"区域:

    1.upto(4, {
        vars.remove("param" + "$it")
    })
    
  6. 就是这样,你现在应该得到你需要的了。您不会在 JMeter GUI 中看到更改,您只能在运行时使用 View Results Tree 侦听器

    观察它们