Jmeter(七):逻辑控制器

目录

JMeter(一):基础概念
JMeter(二):配置元件
JMeter(三):变量参数化
JMeter(四):监听器
JMeter(五):脚本录制
JMeter(六):断言

一、简单控制器:

可以理解为分组或者打标签用,好比手机里联系人有100多个,对亲戚分一组,同学分一组等等,只是方便查询,本身没有实际意义

路径:添加-->逻辑控制器-->简单控制器

如果跑性能或接口时,涉及到多个模块,就可以使用简单控制器进行分组管理了

简单控制器.png

二、ForEach控制器

可以根据用户的多个变量依次被循环调用,直到最后一个变量被调用即结束循环
一般情况下,与用户自定义变量一起使用,格式XXX_1、XXX_2,前缀与用户自定义变量的前缀一样,具体用法在变量参数化章节有提到

路径:添加-->逻辑控制器-->ForEach控制器

三、Switch Controller

作用:只能选择一个,设置switch value时需要注意一点,索引是从0开始的

路径:添加-->逻辑控制器-->Switch Controller

Switch Controller.png

四、如果(If)控制器:

作用:满足条件中的判断语句时,就执行子节点下的请求

路径:添加-->逻辑控制器-->如果(If)控制器

PS:如果是字符串,一定要在参数前面添加引号,如 "${variablename}"=="XXX"
(==表示等于,=表示赋值)

如图设置用户变量 city=beijing,如果是city是beijing,则执行GetCityName,若不是北京,则执行GetWeather

if控制器设置.png

场景应用:测试一个接口,GET请求和POST请求参数写法不一样,就可以用if去判断了,如果是Get请求时执行Get请求设定的模板,如果是POST请求时执行POST请求设定的模板

五、事务控制器

作用:允许用户控制请求的执行频率,可以统计控制器下面的子节点所运行的时间

路径:添加-->逻辑控制器-->事务控制器

  • Generate parent sample:不勾选时会显示子节点下面的信息,勾选时显示事务控制器的时间
  • Include duration of times and pre-post processors in generated sample:是否包含思考时间,勾选时会统计定时器时间(默认仅统计采样器时间)
事务控制器.png

六、循环控制器

同时设置线程组和循环控制器,请求次数为2边的乘积

路径:添加-->逻辑控制器-->循环控制器

循环控制器.png

七、吞吐量控制器

作用:控制子节点的运行次数(执行频率)

路径:添加-->逻辑控制器-->吞吐量控制器

比如测试HH官网,总线程为5,测试环境登录页面执行2次,访问首页执行1次,访问空间指引页面执行2次
PS:总线程为5,可以是线程数1,循环5次,也可以是线程数5,循环1次

需要注意的是:
添加吞吐量控制器后默认是Percent Executions(百分比,运行比例为1~100之间),如果要设置次数的话需要改成Total Executions

吞吐量控制器设置.png

勾选【Per User】时,在每个线程的基础上,每个用户都将根据控制器设置进行计算。
未被勾选时,计算针对于所有用户execution模式
不勾选Per User选项,执行次数=吞吐量值;
勾选Per User,执行次数=对应线程数 * 吞吐量值

吞吐量控制器.png

八、随机控制器

作用:随机选取一个子节点执行

路径:添加-->逻辑控制器-->随机控制器

如图所示:随机控制器下有3个子节点,总共执行了4次,通过查看结果树发现每次执行的节点都是随机的

随机控制器.png

九、随机顺序控制器

作用:子节点执行次数一样,但顺序不一样

路径:添加-->逻辑控制器-->随机顺序控制器

如图所示:总共执行了3次,通过查看结果树发现每个子节点都被执行到了,只是顺序是随机的

随机顺序控制器.png

十、仅一次控制器

作用:控制子节点在整个测试计划执行期间的每个线程仅执行一次
比如很多接口调用时都依赖于登录接口,但我们在压测时总不能连登录接口一起压,这时候<仅一次控制器>就起作用了

如图所示:将线程(时间练习)循环次数设为3次,运行查看结果树

仅一次控制器.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 主要文体来自 CDNS:https://www.cnblogs.com/ceshisanren/p/5639895...
    Amano阅读 11,071评论 3 27
  • jmeter中逻辑控制器(Logic Controllers)的作用域只对其子节点的sampler有效,作用是控制...
    我为峰2014阅读 529评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 阿衡和大神结婚后的某天,阿衡窝在大神怀里看电视,突然想起问:“大神,你是什么时候喜欢我的?” 薛宁白斜睨了她一眼:...
    1颗百香果阅读 478评论 6 3
  • 华歆,字子鱼,汉末三国时期人。在三国时期,魏国的重臣,是一个有才华,有能力的人。生于157年,死于232年,享...
    聆听花开的声音Candy阅读 2,578评论 2 2