循环控制单元
1、 当线程组与循环控制器均设置循环次数时,其子节点执行总次数为二者数值的乘积,即线程组循环数乘以循环控制器设定值。
2、 简易控制装置
3、 这是JMeter中最基础的控制器,主要用于对采样器和其他逻辑控制器进行分组管理,形成清晰的结构层次。它仅提供组织功能,不具备任何逻辑判断或运行时控制能力,纯粹用于提升测试计划的可读性和条理性。
4、 循环遍历每个元素
5、 演示Foreach控制器的使用实例
6、 ForEach控制器通常配合用户自定义变量使用,可遍历并读取相关返回值。其下的采样器或控制器会根据变量数量执行相应次数,每次获取不同的变量值,实现动态数据处理与循环操作。
7、 输入变量的前缀符号,用于标识变量名称的起始部分。
8、 输出变量的命名
9、 循环起始索引(不包含),默认从1开始;若无以1开头的变量,运行时将报错。
10、 循环结束时包含在内的索引位置。
11、 在变量名中添加_作为数字前的分隔符,以提升可读性与规范性。
12、 foreach控制器常与表达式提取器配合使用,提取值设为-1可获取全部结果,随后其下的采样器将逐一执行遍历操作。
13、 仅执行一次的控制器,用于限定其下的取样器只运行一次。
14、 在测试执行过程中,该控制器确保其下的元件每个线程仅运行一次,常用于模拟登录操作。
15、 事务控制器用于控制和管理一系列操作的执行过程,确保其完整性与一致性。
16、 勾选生成父样本后,所有结果将统一在父节点中显示,具体展示效果中红框所示。
17、 勾选此项后,生成的样本将包含定时器以及前置和后置处理器的执行时间;若不勾选,则仅统计采样器本身的响应时间。此设置影响性能测试结果的时间计算范围,有助于更精确地分析请求处理全过程的耗时情况。
18、 条件控制器,用于根据设定条件决定是否执行后续操作。
19、 功能:依据指定表达式的计算结果来判断是否执行其子节点,默认采用JavaScript语法进行条件判断。
20、 判断if语句条件是否成立,成立则继续执行后续操作。
21、 此处将id值固定,运行一次查看结果,确认调用了服务人员接口。
22、 用于管理与控制Switch设备的控制器,实现网络集中管控与配置。
23、 Switch控制器通过设置Value值确定执行哪个采样器,支持两种赋值方式:数字索引或采样器名称,灵活控制执行路径。
24、 第一种为数值方式,Switch控制器的子节点按从0开始的序号排列,通过设定具体数值来决定执行哪一个子节点元素。
25、 通过直接设定子元素名称(如采样器的名称)进行匹配,若所设名称不存在,则不执行任何相关元素操作。
26、 当值为空时,自动执行第一个子节点。
27、 示例:
28、 选择Switch Controller的值为客服登录,进入相应操作界面。
29、 执行成效
30、 吞吐量控制器用于调节和控制系统的数据处理速率,确保资源合理分配与系统稳定运行。
31、 功能在于调控其子节点的执行频率和负载分配,名称易误导,与TPS、RPS无关,具体可通过两种方式实现。
32、 设定运行次数,即在整个测试计划中总共执行的次数。
33、 设定执行比例(1至100),表示在整个测试计划中实际运行的总占比。
34、 吞吐量:系统设计预期达到的性能指标数值。
35、 每个用户:根据网上说明,选择总执行次数时,勾选后表示每个线程中执行的次数。但在3.0版本中尝试此操作无效。
36、 示例:
37、 线程组循环次数设为五次
38、 吞吐量控制器1的子节点将被执行三次。
39、 结果显示共执行了三次
40、 Throughput Controller2的子节点执行次数为:40%乘以线程组循环5次,结果为2次。需注意,percent选项中填写的是百分比数值。
41、 观察结果,发现程序执行了两次。
42、 随机控制器是一种依据概率生成控制信号的装置。
43、 随机选取并执行其下某个子节点中的请求任务
44、 适用于页面随机访问的场景
45、 随机顺序控制器是一种按随机次序执行子元素的测试工具。
46、 随机执行其下所有子节点任务
47、 与随机控制器不同,此控制器会将所有待执行内容逐一运行一遍,顺序随机,确保每个内容至少执行一次。
48、 适用于需访问页面中所有内容但顺序不限的随机访问场景。
