JMeter - 如果为null,则不传递post数据中的post值

时间:2016-02-04 10:52:30

标签: jmeter

在我的JMeter脚本中,我有一个HTTP请求,它有4个不同的参数在post body中传递。我有相应的变量。这些变量的值不是每次都可用,具体取决于配置。

如果某个值不可用,我会收到错误“错误请求”。如何查看变量是否为空,然后才在请求帖体中传递相应的参数?

2 个答案:

答案 0 :(得分:1)

鉴于您有以下配置:

Example HTTP Request

如果未定义foo变量,则不希望发送${bar}参数

  1. Beanshell PreProcessor添加为HTTP请求采样器的子项
  2. 将以下代码放入PreProcessor的“脚本”区域:

    if (vars.get("bar") == null) {
        sampler.getArguments().removeArgument("foo");
    }
    
  3. 其中:

    有关从Beanshell脚本使用Java和JMeter API的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。

答案 1 :(得分:0)

只需使用逻辑控制器 - 如果是控制器。它允许使用变量定义if语句。因此,只有在所有参数都不等于null时才能执行操作: enter image description here 我在这个例子中定义了一个用户自定义变量。只有在定义了值的情况下,Jmeter才会发送HTTP请求。