如何使用 JAVA/Groovy 从 Jmeter HTTP 采样器中删除空的 HTTP 请求参数

How to remove empty HTTP request params from Jmeter HTTP sampler with JAVA/Groovy

如何使用 JS223 预处理器从 JMeter HTTP 采样器中删除空的 HTTP 请求参数?

示例:

HTTP 请求

https://restApi/users?username=Leanne+Graham&email=Sincere%40april.biz

我不明白为什么你需要从请求中删除空参数,well-behaved JMeter test should send the same requests as the real browser,对于浏览器发送没有值的请求参数是很正常的

如果您仍想使用 JSR223 预处理器和 Groovy 语言删除没有值的请求参数,相关代码将类似于:

def newData = new org.apache.jmeter.config.Arguments()

0.upto(sampler.getArguments().size() - 1, { idx ->
    def arg = sampler.getArguments().getArgument(idx)
    if (!arg.getValue().equals('')) {
        newData.addArgument(arg)
    }
})

sampler.setArguments(newData)

其中 sampler 代表 HTTPSamplerProxy