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
子采样器将不会被执行。
我有几个 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
子采样器将不会被执行。