件的解析:测试
config elements(配置元件) 影响其做用范围内的全部元件;线程
per-processors(前置处理程序) 做用域范围内的每个sampler元件以前执行;(相似于,吃饭前要洗手这种操做)blog
timers(定时器) 范围内的每个sampler元件生效图片
后置处理程序(Post-processors) 做用范围内的每个sampler元件执行以后执行;(相似于,吃完饭洗碗)element
断言(Assertions)在其做用范围内的每个sampler元件执行后的结果进行校验;作用域
监听器(listeners)收集做用范围内每个sampler元件的结果io
sampler 不和其余的元件有相互做用,因此不存在做用域的问题原理
----------------------------------------------------------------------------------------------------------------------------配置
sampler功能以下图:循环
按照上面的说明:sampler 不和其余的元件有相互做用,因此不存在做用域的问题
做用域例子 -- 线程组配置:
如上图所示:
http1执行顺序:
用户参数
http1
响应断言 1
察看结果树--全局
聚合报告--全局
循环器内执行顺序:
用户参数
http2
http3
察看结果树3
察看结果树--全局
聚合报告--全局
解析:
1. 用户参数: 用户参数是一个前置处理器;已预先将数据写好,供其余http的请求使用(做用于每个sampler以前执行)
2. http1 : http1请求是属于sampler(看上一张图片,已截取全部sampler)
3. 响应断言1:http1下的响应断言,所在的位置是与http1 同一个范围的。响应断言1只会做用于http1;而不会做用于http2,http3
4. 循环控制器:循环控制就也是相同的原理,http2与http3都在循环控制器下。循环控制所影响的范围就在http2和http3中
5. 总结:http1 http2 http3 不与任何元件有相互做用;执行时,就是一条http请求
6. 察看结果树:
1.察看结果树是对应一条http请求,显示的结果就是该条请求
2.察看结果树对应全局位置,显示全部http请求的信息
察看结果树全局图:
http3察看结果树图:
7.聚合报告:
1.聚合报告是对应一条http请求,显示的结果就是该条请求
2.聚合报告对应全局位置,显示全部http请求的信息
执行顺序:
配置元件 -> 前置处理程序 -> 定时器 -> sanpler -> 后置处理程序 -> 断言 -> 监听器
注:在同一个做用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的从上到下的顺序依次执行
疑问解答QQ群:群1:588402570,群2 772588688
群1 限制人数后,请申请群2
关注该公众号:持续更新Jmeter相关内容