桂平市住房和城乡建设局门户网站,制作网站 太原,私人做医院的网站,茂名公司网站设计系列文章目录 安装jmeter jmeter常用配置元件介绍总结之逻辑控制器 逻辑控制器1.IF控制器2.事务控制器3.循环控制器4.While控制器5.ForEach控制器6.Include控制器7.Runtime控制器8.临界部分控制器9.交替控制器10.仅一次控制器11.简单控制器12.随机控制器13.随机顺序控制器14.吞…系列文章目录 安装jmeter jmeter常用配置元件介绍总结之逻辑控制器 逻辑控制器1.IF控制器2.事务控制器3.循环控制器4.While控制器5.ForEach控制器6.Include控制器7.Runtime控制器8.临界部分控制器9.交替控制器10.仅一次控制器11.简单控制器12.随机控制器13.随机顺序控制器14.吞吐重控制器15.Switch控制器16.模块控制器 逻辑控制器
1.IF控制器
功能输入条件表达式条件为真时执行控制器里面的请求 参数说明
Expression输入条件表达式表达式的结果必须是true或者false推荐使用_jexl3或_groovy来执行表达式Use status of last sample点击后会自动插入一个表达式用来判断上一节点的取样器成功还是失败成功则执行控制器里面的请求Interpret Condition as Variable Expression默认勾选的勾选后条件解释为变量表达式需要使用_jexl3或_groovy来执行表达式Evaluate for all children勾选后控制器里面的每一个子元素运行前都会判断条件表达式是否为true
如图提取第一个请求的响应消息判断响应消息是否符合预期的值符合则执行控制器中的请求 2.事务控制器
功能生成一个额外的示例合并统计示例下的所有测试元素所花费的总时间 参数说明
Generate parent sample勾选后会把多个请求样本归类到事务控制器下不勾选则是独立样本Include duration of timer and pre-post processors in generated sample勾选后生成的样本讲包括计时器、前置后置处理器等参数的延迟时间
如图 3.循环控制器
功能会将循环控制器里面的所有请求循环指定次数 提示加上${__jm__控件名字__idx}如${__jm__test__idx}可以查看循环的索引 如图演示 如图显示每次循环的索引 4.While控制器
功能输入表达式来控制控制器里面的请求循环多少次 参数说明 Condition (function or variable)输入表达式控制循环的次数推荐使用_jexl3或_groovy来执行表达式内容为空白时会一直执行 5.ForEach控制器
功能对值进行前缀匹配然后循环遍历可以让控制器里面的请求的内容结合每次遍历的结果来执行 如某个参数需要执行不同的内容其余的参数保持不变就可以先定义内容然后每次迭代循环该字段的值都会改变 参数说明 输入变量前缀输入要变量的变量前缀会根据前缀去匹配变量只有符合前缀的变量才会被迭代 开始循环字段(不包含)可以理解为从第几个变量值开始迭代不包含输入的值应该实际迭代的值 输入的值 1 结束循环字段(含)迭代到第几个值结束输入多少就对应第几个值结束 输出变量名称参数化时的引用名 数字之前加上下划线勾选后遍历的变量名的前缀和数字之间必须要有_下划线 注意 1.开始和结束字段的值一定要设置对否则不会循环 2.遍历的变量名和输入的”输入变量前缀“有关联关系变量名去掉输入的变量前缀剩余的字符串必须是有序的整数数字或者下划线加有序数字 如输入变量前缀test则变量名必须是test1test2…或者test_1,test_2… 如果是testsstest01test_01;等都是不会被迭代的 必须要有序数字如第一个变量是test1第二个变量是test9则只会迭代test1 6.Include控制器
功能选择导入测试片段能运行测试片段里面的脚本重复利用已有的脚本不需要再次编写 注意导入的测试片段不能有线程组 如图保存测试片段 如图演示 7.Runtime控制器
功能设置控制器下取样器运行时长单位秒比如限时活动等有时间限制的场景可以使用 8.临界部分控制器
功能设置同步所确保同一时间每次只能有一个请求通过执行适用于控制并发的场景 可以理解为设置了一把锁只有有锁的人才能通过通过了就把锁释放掉下一个占用到锁后才能通过
如图演示我这里设置了5个线程数控制器中的取样器设置了个延迟3秒的固定定时器结果是每个请求的间隔都是3秒 9.交替控制器
功能让控制器下面的请求、元素交替、轮流执行 参数说明
忽略子控制器块勾选后会忽略子控制器的功能让子控制器里面的元素也交替执行Interleave across threads勾选后可跨线程交替多个线程数的时候也会轮流交替请求
如图演示设置了6个线程数结果是每个线程交替的请求了不同的取样器
10.仅一次控制器
功能控制器里面的取样器元素等再多次循环中只会执行一次 适用场景如有几个接口依赖于登录获取token才能正常请求此时登录接口就可仅执行一次用来提取token后面的请求直接引用即可避免重复多次请求登录接口
如图演示设置了1个线程循环5次结果是控制器下的请求只执行了1次 11.简单控制器
功能没有实际的功能作用是归纳分组元素模块化封装让脚本结构更清晰
12.随机控制器
功能控制器中的请求元素随机取一个执行勾选忽略子控制器块会忽略子控制器的功能 13.随机顺序控制器
功能控制器中每个请求元素都会被执行一次但执行的顺序是随机的 14.吞吐重控制器
15.Switch控制器
功能通过设置的Switch Value值来决定执行哪个请求 提示有3种取值方式 1.输入节点位置顺序从0开始输入0会执行第一个取样器1则执行第二个依次类推 2.直接输入取样器的名称如”调试取样器-4“ 3.value为空或者不存在时默认执行第一个 16.模块控制器
功能主要是为了方便测试代码、以及维护 可以选中里面的测试片段运行指定片段