jmeter-如何在*jtl文件中忽略所选采样器的测量

jmeter-如何在*jtl文件中忽略所选采样器的测量,jmeter,Jmeter,我的测试配置: 回路控制器 --> Beanshell Sampler vars.put("test", "${__CSVRead(*test,0)}"); Add it to an existing array retrieved from vars.getObject 在上面的场景中,我在一个循环控制器中动态地构造我的请求负载。我必须将CSVRead函数放在循环控制器下的单独Beanshell采样器中,因为如果我在Beanshell采样器内的for

我的测试配置:

回路控制器

--> Beanshell Sampler 

        vars.put("test", "${__CSVRead(*test,0)}");
        Add it to an existing array retrieved from vars.getObject
在上面的场景中,我在一个循环控制器中动态地构造我的请求负载。我必须将CSVRead函数放在循环控制器下的单独Beanshell采样器中,因为如果我在Beanshell采样器内的for循环中使用它,“${uu CSVRead(*test,0)}”正在读取采样行(解释模式)


虽然上述配置满足了我的要求,但即使是30分钟的负载测试,我的*.jtl文件的大小也在增长,因为BeanShell采样器一直在被测量。虽然我能够使用FilterResults工具过滤所需的数据,但我想知道如何在执行过程中避免这种情况,就像TestActionSampler一样,使用以下测试元素之一:


默认情况下,计时器和前/后处理器执行时间不包括在父采样器运行时间中(除非您使用明确配置的时间),使用此方法,您将能够排除从测试结果构建有效负载所需的时间

我使用以下配置解决了这个问题

Loop Controller
 --> Test Action Sampler
   --> Beanshell timer returning 0 at the end
        vars.put("test", "${__CSVRead(*test,0)}");
        Add it to an existing array retrieved from vars.getObject
        return 0;

谢谢当我意识到这一点时,直接将beanshell前置/后置处理器和计时器添加到循环控制器中并不起作用。我必须添加一个测试动作采样器来实现这一点,确保您了解从BeanShell采样器切换到前置/后置处理器的后果。如果您使用BeanShell Sampler执行一些“每线程一次”类型的脚本编写,那么将其替换为其中一个将不会得到相同的结果。根据前置/后置处理器的位置,您的代码可以“每个样本执行一次”。