【Jmeter教程】_事务控制器

目录

一、添加事务控制器

二、事务控制器参数说明

三、运用事务控制器


统计性能测试结果一定会关注TPS,TPS表示每秒处理事务数,JMeter默认每个事务对应一个请求。我们可以用逻辑控制器中的事务控制器将多个请求统计为一个事务。

一、添加事务控制器

二、事务控制器参数说明

Generate parent sample:如果事务控制器下有多个取样器,勾选它,那么在“擦看结果树”中我们不仅可以看到事务控制器,还可以看到每个取样器,并且事务控制器定义的事务是否成功取决于子事务是否都成功,子事务其中任何一个失败即代表整个事务失败。

Include duration of timer and pre-post processors in generated sample:是否包括定时器、预处理和后期处理延迟的时间

三、运用事务控制器

察看结果树中的运行结果

聚合报告中的运行结果

### 如何在 JMeter 中获取事务控制器的名称 在 JMeter 中,事务控制器(Transaction Controller)是一个重要的逻辑控制器,用于将多个采样器组合成一个单一事务并对其进行计时。为了获取事务控制器的名称,可以通过以下方法实现: #### 方法一:通过查看 GUI 配置 在 JMeter 的图形界面中,可以直接观察到事务控制器的名称。创建或编辑事务控制器时,其 **Name** 字段即为其显示名称[^1]。 #### 方法二:通过脚本访问事务控制器名称 如果需要动态获取事务控制器的名称,可以借助 JMeter 提供的 BeanShell 脚本功能或其他支持的语言(如 JSR223)。以下是具体操作步骤和代码示例: ##### 使用 BeanShell 处理程序 可以在测试计划中的任意位置添加一个 **BeanShell PostProcessor** 或 **JSR223 Sampler/PostProcessor** 来读取事务控制器的名称。假设事务控制器命名为 `Transfer Transaction`,则可通过如下代码片段提取其名称: ```java // 获取当前 sampler 对象 Sampler sampler = ctx.getCurrentSampler(); // 判断是否为事务控制器 if (sampler instanceof org.apache.jmeter.control.TransactionController) { String transactionName = sampler.getName(); log.info("Transaction Name: " + transactionName); } ``` 此代码会检查当前采样器是否属于事务控制器类,并打印其名称至日志文件中。 ##### 使用 JSR223 Processor 对于更现代的方式,推荐使用 Groovy 编写的 JSR223 Processor 替代 BeanShell。Groovy 更高效且兼容 Java API。下面是等效的 Groovy 实现: ```groovy def sampler = prev.getSampleLabel() log.info("Current Sample Label: ${sampler}") // 如果需要进一步验证是否为事务控制器 if (ctx.getCurrentSampler() instanceof org.apache.jmeter.control.TransactionController) { def transactionName = ctx.getCurrentSampler().getName() log.info("Transaction Controller Name: ${transactionName}") } ``` 以上代码能够捕获当前正在运行的采样器标签名以及判断该采样器是否为事务控制器实例。 #### 方法三:分析生成的结果数据 当启用“Generate Parent Sample”选项后,事务控制器会在结果树或监听器中生成一条父样本记录。这条记录的名字正是事务控制器所设置的名称[^4]。因此,也可以通过解析这些结果来间接获得事务控制器的名称。 --- ### 注意事项 - 若未显式命名事务控制器,则默认采用的是内部生成的唯一标识符作为名称。 - 在某些情况下,可能需要结合其他插件(例如 JSON Extractor 或 XPath Extractor),从外部源加载动态名称赋值给事务控制器。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值