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

时间:2018-11-20 05:11:59

标签: rest http testing jmeter jsr223

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

等等。 这是jmeter中的http请求示例,命中了rest api,并以JSON格式获取响应。

这里的挑战是Param1,param2,param3...。这些搜索参数的数量不是恒定的,它可能会随调用而改变,因此我正在制作一个csv文件,其中包含以逗号分隔格式包含搜索参数的行。 / p>

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

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

enter image description here

并将其放入http请求之类

enter image description here

现在,如果参数为null,我不想在http请求标头中看到此信息 那么如何在jmeter中做到这一点。

1 个答案:

答案 0 :(得分:1)

  1. HTTP Request删除所有“参数”,应该干净

    enter image description here

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

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

    1.upto(4, {
        vars.remove("param" + "$it")
    })
    
  6. 就是这样,您现在应该得到所需的东西。您将无法在JMeter GUI中看到更改,只能使用View Results Tree侦听器

    在运行时观察它们

    enter image description here