jmeter系列六(processor)

今天开始jmeter的核心元素processor (preprocessor|postprocessor)

同样的道理在jmeter中每个testelement元素都对应着他的gui,processor也不例外,可以定位到包org.apache.jmeter.processor和org.apache.jmeter.processor.gui

包下面的类全部都是有关于processor这个元素,processor的元素的界面使用到了Jmete的两种界面策略(用到了TestBean和继承AbstractJMeterGuiComponent的实现方式)

前面分析了AbstractJMeterGuiComponent,TestBean后面会独立开篇分析

processor的testelement接口

1 public interface PostProcessor {
2     /**
3      * Provides the PostProcessor with a SampleResult object from which to
4      * extract values for use in future Queries.
5      */
6     void process();
7 }
View Code
1 public interface PreProcessor {
2     void process();
3 }
View Code

---------------------------------------------------------------现在是Processor元素在engine中的执行情况----------------------------------------------------------------

可以定位到JMeterThread中的process_sampler方法

runPreProcessors(pack.getPreProcessors())

runPostProcessors(pack.getPostProcessors())

可以看到这两行调用

总之,PreProcessor就是在Sampler执行之前进行操作,PostProcessor就是在Sampler执行之后进行后续操作

原文地址:https://www.cnblogs.com/liliqiang/p/4321298.html