jmeter Include Controller&Module Controller

发布时间 2023-08-16 11:37:14作者: HinaJin

***Include Controller
include 控制器:可理解为 外部调用。 用来导入外部的测试片段(非完整的测试计划),在执行时会执行导入的测试计划。
被导入的测试计划有特殊要求,它不能有线程组,只能包含简单控制器及控制器件下的元件。
相当于一个执行单元,一个封装了业务操作单元。
调用文件 测试片段中的 while 控制器没有起作用;解决方案:将 Include 控制器 放到 while 控制器下面;

*** Module Controller
模块控制器,可理解为内部调用。
可以通过模块控制器在当前测试计划中引入新的测试片段(也可以叫脚本片段,由控制器、取样器、及辅助元件构成,能够完成负载的模拟);
模块控制器提供了一种在运行时将测试片段替换为当前测试计划的机制。
添加模块控制器,线程组-添加-逻辑控制器-模块控制器;
引入的测试模块 可以是在 测试片段下的控制元件、也可以是线程组下的控制元件(比如 while 控制器); 禁用状态下的依旧可以调用;

 

*****测试片段
test Fragment(测试片段):
应用在控制器上的一个特殊线程组,与线程组处于同一层级,必须与Include Controller或模块控制器一起使用才被执行。
测试片段可以位于任何线程组中。
控制器上一种特殊的线程组,它与线程组处于一个层级。与线程组不同的就是:测试片段不会执行。
它是一个模块控制器或者被控制器应用时才 会被执行。
测试片段中添加 事务,事务中添加请求等;

作用:方便管理测试用例,按照不同的功能模块进行划分;

缺陷1:不同测试片段间若有相同的变量名称,会串用;同一个测试片段下面的,不同事务间,有相同的变量名出会串用;
解决方法:测试片段间不要使用相同的变量名称;


******测试片段问题:
1.并没有优先取当前事务下的参数;
2.优先取非函数的;

 

PS.CSV配置文件需要放在 被模块控制器调用的 事务控制器下面;