JMeter enable/disable 特定条件下的 HTTP 请求采样器

JMeter enable/disable HTTP Request Sampler upon certain condition

我有几个 HTTP 请求采样器,我只想在满足特定条件时执行。我所做的是使用以下代码向 HTTP 请求采样器添加一个 BeanShell 预处理器

if (${getTeamName}.equals("Test Team") == true)
{
    HTTPSampler.setEnabled(false);
}

如果 getTeamName 的值是 Test Team 那么我想禁用那个 HTTP 请求采样器,因为它不必在那时执行。然而,目前看来这不起作用。

有没有人知道我在这里做错了什么,或者对我应该做什么有建议?

在使用 beanshell 时,使用 vars.get("VARNAME")

访问变量
if (vars.get("getTeamName").equals("Test Team") == true)
{
     sampler.setEnabled(false);
}

根据 JMeter Performance and Tuning Tips 指南:

But of course ensure your script is necessary and efficiently written, DON'T OVERSCRIPT

为什么不直接使用 If Controller 比如:

  • 如果控制器,条件:"${getTeamName}" != "Test Team"
    • HTTP 请求采样器

如果 ${getTeamName}Test Team 子采样器将不会被执行。