Jmeter 逻辑控制器 之 事务控制器

在做性能测试的时候,如果被测系统是需要登录的,登录成功后,系统默认加载其订单数据,因此在用户看来这是一个操作。所以为了模拟这个操作,我需要访问两个接口,并且把这两个接口的响应时间算在一起,那么就用到了事务控制器,举个列子给大家分享下我的理解,希望大家相互学习,多多指点。

认识事务控制器

如下,新建一个事务控制器

性能测试|JMeter逻辑控制器(三)_性能测试

控制器的设置面板:

性能测试|JMeter逻辑控制器(三)_事务控制_02

Generate parent sample:生成父样例,事务控制器下所有样例的结果集合,其下所有样例都正确,事务控制才正确,反正,其下一个不正确,则不正确

Include duration of timer and pre-post processors in generated sample:包括定时器和前置处理器的延时和处理时间,一般用在性能测试上。

Generate parent sample

首先在事务控制器下添加两个请求,如下:

性能测试|JMeter逻辑控制器(三)_百度_03

然后设置 事务控制器中 Generate parent sample 选项 为勾选

性能测试|JMeter逻辑控制器(三)_性能测试_04

执行后,观察结果树和聚合报告 结果如下:

性能测试|JMeter逻辑控制器(三)_性能测试_05

性能测试|JMeter逻辑控制器(三)_事务控制_06

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

  • 包含定时器延时时间

首先在 访问百度首页 请求下面 新增一个定时器,延时设置为 2秒,如下:

性能测试|JMeter逻辑控制器(三)_性能测试_07

然后勾选控制器中的 Include duration of timer and pre-post processors in generated sample。

性能测试|JMeter逻辑控制器(三)_百度_08

执行后,观察结果:

性能测试|JMeter逻辑控制器(三)_百度_09

性能测试|JMeter逻辑控制器(三)_事务控制_10

  • 首先在 访问百度新闻页 下添加一个前置处理器,事务控制器设置如上。

性能测试|JMeter逻辑控制器(三)_事务控制_11

执行后,观察结果:

性能测试|JMeter逻辑控制器(三)_性能测试_12

性能测试|JMeter逻辑控制器(三)_事务控制_13

最后大家可以试试,同时开启定时器和前置处理器,看看事务控制器上的总时间是否包含两个,应该是要增加7秒的时间。