一 前言
环境
window 10 Jmeter 5.3
二 逻辑控制器
1 简单控制器
如图
逻辑控制器没有什么需要输入的地方,直接在合适的地方添加使用即可
作用:
- 整理分类分组的作用,在使用Jmeter时,可以把你认为可以归类到一起的东西放在一个简单控制器下,就像放在一个文件夹或模块,如上图,看的时候更加层次化,结构化
- 控制顺序,在简单控制器下的子节点将严格按照显示顺序依次执行,即便是在并发线程的执行中
如下
执行结果
有5个并发线程数,但是 同一个线程,只要在简单控制器下的,执行先后顺序永远是 百度1 百度2 百度3 百度4(中间可能有其它接口 但是这4个的先后顺序不会乱),而非简单控制器下的,有时甚至第2个线程的百度1执行完成后才会执行第1个线程的百度6和百度5
2 模块控制器
模块控制器必须和另外一个组件即测试片段一起使用
2.1 测试片段
测试片段下可以添加的组件和线程组下可添加的东西是一样的
- 测试片段通常配合模块控制器或包括控制器一起使用,测试片段可以位于测试计划下,也可以位于线程组下面
- 在执行Jmeter时,其中的测试片段自身是不执行的,模块控制器引用了某片段,则会通过执行模块控制器的方式来执行测试片段
- 有其它博主说,当多人构建Jmeter时,通过测试片段可以分人分模块来管理Jmeter
2.2 模块控制器
在模块控制器中,可以引用测试片段中的内容。通过执行模块控制器,也就执行了其引用的测试片段中的Jmeter脚本
2.3 例子
2个测试片段下的接口是一样的即打开百度首页,名字不同而已
添加一个线程组,在该线程组下添加测试片段,在测试片段下添加一个接口
在次添加一个线程组,该线程组下添加2个模块控制器
其中一个模块控制器选择执行片段1 另一个选择执行片段3
执行 查看结果树
可以看到,登录与认证接口属于片段1,这2个接口被执行了
签到接口属于片段3,虽然片段3所在线程组的线程数量为3,但引用片段3的模块控制器所在线程组的线程数为1,最终,该接口也是执行了1次。 可见,片段3本身并没有执行,执行时是按照模块控制器所在线程组配置执行的
3 包括控制器
包括控制器与模块控制器很像,都需要配合测试片段来使用,
区别是,包括控制器引用的是一个外部的jmeter文件,包括控制器会自动引用该文件中的所有测试片段
模块控制器是引用自身所处文件中的测试片段,而且可以选择具体引用哪一个测试片段
例子
外部的Jmeter文件
测试计划下添加一个线程组 线程组下添加一个测试片段,片段下添加一个接口
测试计划下直接添加测试片段,片段下添加一个接口
测试计划下添加一个线程组,线程组下面添加一个接口
执行包括控制器所在的Jmeter
可见 Jmeter只会执行外部文件中直接添加到测试计划下的测试片段,非测试片段或者在线程组下的测试片段是不会执行的
标签:控制器,模块,逻辑,片段,线程,测试,Jmeter From: https://www.cnblogs.com/MyRecords/p/17997485