在 jmeter 中,我们可以在 HTTP 请求参数部分声明的参数中使用几个参数吗?

In jmeter, can we use few parameters with in what we declared in the HTTP request parameter section

在我的例子中,我创建了一个包含所有可能参数的 HTTP 请求,如下所示 -

我的 .csv 文件如下所示 -

对于某些测试用例,我只需要在一个或两个参数中发送详细信息,而不是全部。现在如何在不创建新请求的情况下在同一个 HTTP 请求中执行此操作?

理论上你可以只发送空参数值,只要确保你在 CSV 文件中有一个空白值,即:

param1,param2
foo,bar
baz,
,qux

或者,如果您想从请求中完全删除具有空值的参数,您可以添加一个 JSR223 PreProcessor 作为 HTTP 请求采样器的子项,并将以下代码放入“脚本”区域:

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)

这样 JMeter 将从请求中删除没有各自值的参数:

在上面的示例中 sampler 代表 HTTPSamplerProxy,请参阅 JavaDoc 了解所有可用的函数说明

有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It