如何在JMeter中关联左右两侧动态变化的参数?
在JMeter中提取左右动态、中间固定内容的解决方案
你可以通过正则表达式提取器轻松实现这类场景的关联,以下是具体实现方式:
方案1:提取包含固定中间值的完整字符串
如果需要提取类似Rakesh Kumar Choudhury的完整内容,可使用如下正则表达式:
(\w+) Kumar (\w+)
- 正则说明:
\w+匹配任意由字母、数字、下划线组成的动态字符串,Kumar为固定匹配的中间值,括号用于捕获分组,方便后续引用。
JMeter配置步骤:
- 给目标请求添加「正则表达式提取器」子节点
- 「引用名称」输入自定义变量名(例如
fullName) - 「正则表达式」填入上述表达式
- 「模板」填写
$1$ Kumar $2$(用于还原完整字符串),若只需拼接左右动态值则填$1$$2$ - 「匹配数字」填
1(取第一个匹配结果)
方案2:分别提取左右两侧的动态值
如果需要单独获取Rakesh和Choudhury这类动态值,可通过两个正则提取器或同一提取器的多分组实现:
- 提取左侧动态值:
- 正则表达式:
(\w+) Kumar - 模板填
$1$,变量名设为firstName
- 正则表达式:
- 提取右侧动态值:
- 正则表达式:
Kumar (\w+) - 模板填
$1$,变量名设为lastName
- 正则表达式:
方案3:适配特殊字符场景
如果动态值包含空格、特殊符号,需调整正则为非贪婪匹配任意字符:
(.*?) Kumar (.*?)
可通过JMeter「查看结果树」的「正则表达式测试器」功能,实时验证正则是否匹配目标内容。
内容的提问来源于stack exchange,提问作者Rakesh Choudhury
相关产品推荐
相关产品推荐

