Jmeter: 逻辑控制器(三)

一 前言

环境
window 10 Jmeter 5.3

二 逻辑控制器

1 简单控制器

如图
image
逻辑控制器没有什么需要输入的地方,直接在合适的地方添加使用即可

作用:

  • 整理分类分组的作用,在使用Jmeter时,可以把你认为可以归类到一起的东西放在一个简单控制器下,就像放在一个文件夹或模块,如上图,看的时候更加层次化,结构化
  • 控制顺序,在简单控制器下的子节点将严格按照显示顺序依次执行,即便是在并发线程的执行中
    如下
    image
    执行结果
    image
    有5个并发线程数,但是 同一个线程,只要在简单控制器下的,执行先后顺序永远是 百度1 百度2 百度3 百度4(中间可能有其它接口 但是这4个的先后顺序不会乱),而非简单控制器下的,有时甚至第2个线程的百度1执行完成后才会执行第1个线程的百度6和百度5

2 模块控制器

模块控制器必须和另外一个组件即测试片段一起使用

2.1 测试片段

测试片段下可以添加的组件和线程组下可添加的东西是一样的
image

  • 测试片段通常配合模块控制器或包括控制器一起使用,测试片段可以位于测试计划下,也可以位于线程组下面
  • 在执行Jmeter时,其中的测试片段自身是不执行的,模块控制器引用了某片段,则会通过执行模块控制器的方式来执行测试片段
  • 有其它博主说,当多人构建Jmeter时,通过测试片段可以分人分模块来管理Jmeter

2.2 模块控制器

在模块控制器中,可以引用测试片段中的内容。通过执行模块控制器,也就执行了其引用的测试片段中的Jmeter脚本

2.3 例子

image
2个测试片段下的接口是一样的即打开百度首页,名字不同而已
image

添加一个线程组,在该线程组下添加测试片段,在测试片段下添加一个接口
image

在次添加一个线程组,该线程组下添加2个模块控制器
image
其中一个模块控制器选择执行片段1 另一个选择执行片段3
image
image

执行 查看结果树
image

可以看到,登录与认证接口属于片段1,这2个接口被执行了

签到接口属于片段3,虽然片段3所在线程组的线程数量为3,但引用片段3的模块控制器所在线程组的线程数为1,最终,该接口也是执行了1次。 可见,片段3本身并没有执行,执行时是按照模块控制器所在线程组配置执行的

3 包括控制器

包括控制器与模块控制器很像,都需要配合测试片段来使用,
区别是,包括控制器引用的是一个外部的jmeter文件,包括控制器会自动引用该文件中的所有测试片段
模块控制器是引用自身所处文件中的测试片段,而且可以选择具体引用哪一个测试片段

例子

image
image
外部的Jmeter文件
测试计划下添加一个线程组 线程组下添加一个测试片段,片段下添加一个接口
image
image

测试计划下直接添加测试片段,片段下添加一个接口
image

测试计划下添加一个线程组,线程组下面添加一个接口
image

执行包括控制器所在的Jmeter
image

可见 Jmeter只会执行外部文件中直接添加到测试计划下的测试片段,非测试片段或者在线程组下的测试片段是不会执行的

posted @   工作手记  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示