JMeter逻辑控制器之Transaction Controller


事务响应时间是我们衡量业务性能的主要指标,事务控制器(Transaction Controller)可以把其节点下的取样器执行消耗时间累加在一起,便于我们进行统计。同时我们对每一个取样器的执行时间进行统计。
如果事务控制器下的取样器有多个,那么只有每一个取样器都运行成功了,整个事务控制器定义的事务才算成功,这是充分必要条件。

参数介绍

在这里插入图片描述

属性描述必填
Name控制器名称,可以根据实际情况进行设置
Comments注释,描述在业务中的作用
Generate Parent Sample如果选中,事务控制器将作为其他取样器的父级样本,否则事务控制器仅作为独立的样本
Include duration of timer and pre-post processors in generated sample是否在生成的样本中包括计时器,预处理和后处理的延迟时间,默认是false

勾选Generate Parent Sample

此时,事务控制器下的各个采样器只有在The Tree View Listener里才能看到。同时,子采样器的数据也不会在CSV文件中显示,但是在XML文件中可以看到。
添加一个测试计划,事务控制器下有Login、BeanShell Sampler、Search三个请求,如下图所示:
在这里插入图片描述
在View Results Tree可以看到事务控制器嵌套了其他请求,如下图所示:
在这里插入图片描述

而在Summary Repor可以看到只显示事务控制器的数据,如下图所示:
在这里插入图片描述

勾选Include duration of timer and pre-post processors in generated sample

在Search请求下加一个定时器,如下图所示:
在这里插入图片描述
在Summary Repor可以看到,事务控制器的时间 = 其他请求的响应时间 + 定时器 + 前后置处理器的时间,如下图所示:
在这里插入图片描述
不勾选时,事务控制器的时间 = 其他请求的响应时间,如下图所示:
在这里插入图片描述
可以这样理解,一个事务,就是完成一个业务所调用接口的集合:可能是单个接口和可能是一连串接口。例如:登录业务就是调用一个接口;评论就是登录客户端+查看文章+评论多个接口的调用。
之前,我在使用的时候,就会把登录客户端后,获取的多个接口做为一个事务来处理;但是,这样有一个不好的地方就是,有些接口就是登录客户端后,只被调用一次,例如:登录客户端、查看文章这些接口的调用,就只会调用一次;有些接口被调用多次,例如:查看文章、评论等等。所以,最好的方式,就是把需要调用一次的接口,放到Once Only Controller控制器中,多次调用的接口,放到单独的transaction controller。这个时候,在test plan中,有一个选项,方便查看运行时候接口的响应情况

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值