You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在JMeter中如何从JMS请求头中提取TransactionID值

JMeter提取JMS请求头TransactionID的操作方法

以下两种方式都可以实现,按需选择即可:

方式1:使用正则表达式提取器(操作门槛更低)

  • 右键点击发送JMS请求的采样器,依次选择 添加 → 后置处理器 → 正则表达式提取器
  • 按以下参数配置提取器:
    • 应用范围:选择主样本
    • 引用名称:自定义变量名,比如transaction_id,后续用${transaction_id}即可调用提取到的值
    • 正则表达式:填TransactionID\s+([a-f0-9A-F\-]{36}),精准匹配UUID格式的TransactionID取值
    • 模板:填$1$,取第一个正则分组的内容
    • 匹配数字:填1,取第一条匹配结果
    • 缺省值:可填NOT_FOUND,方便排查提取失败的场景

方式2:使用JSR223后置处理器(灵活性更高,性能更好)

  • 右键点击发送JMS请求的采样器,依次选择 添加 → 后置处理器 → JSR223后置处理器
  • 语言选择groovy,在脚本输入框中填入以下代码:
// 从JMS请求头中切割提取TransactionID值
def rawHeaders = prev.getRequestHeaders()
def transactionId = rawHeaders.split("TransactionID\\s+")[1].split("\\R")[0].trim()
// 将提取结果存入JMeter变量
vars.put("transaction_id", transactionId)

验证方法

可以在JMS采样器后添加一个调试采样器,运行脚本后在「查看结果树」中查看transaction_id变量的取值,确认是否和预期的39594bf1-0410-476c-9cb6-0ce3102ce182一致即可。

内容的提问来源于stack exchange,提问作者user16923013

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:45:02