我正在使用正则表达式提取器提取我需要在我的测试中使用以下 JMeter Sampler
的身份验证代码 . 此代码保存在响应标头中作为身份验证: djdjf...##
(一串字母和数字后跟##) .
在正则表达式提取器“要检查的字段”中,我选择了“响应 Headers ”单选按钮 .
然后我进入:
参考名称:Auth正则表达式:\ A \ w * == \ z模板:$ 1 $匹配编号(0为随机):1默认值:未找到
正则表达式提取器执行的结果在哪里得到保存?
我希望结果将保存在用户定义变量中,在我的测试计划的用户定义变量部分中定义为Auth,但是如果我在正则表达式提取器的“参考名称”中输入Auth,并运行JMeter,则Auth永远不会获得填充 .
3 回答
您无需为此创建单独的
User Defined variable
. 您在“参考名称”字段中提供的名称将用作变量,以存储使用正则表达式模式找到的匹配项 .因此,要访问该值,只需使用
${Auth}
. 它应该从正则表达式给出result
或NOT FOUND
非常简单和简单的方法是: -
在正则表达式提取器放置调试后处理器之后 .
1-右键单击您已创建Regular Exp - > Add - > Post processor - > Debug PostProcessor的请求
2-在Debug PostProcessor中,在name的位置给出你提取的变量名,比如$
3-现在,在测试运行后的Listener部分中,您将获得在正则表达式中传递的精确值 .
JMeter通过Jakarta ORO使用Perl5样式的正则表达式 .
您可以使用ORO demonstration applet或View Results Tree listener来debug your regular expression
我建议将"Regular Expression"替换为像_2477744这样简单的东西,保留其他字段 .
提取后,您应该能够在必要时将提取的 Headers 引用为
${Auth}
或${__V(Auth)}
.通过用户定义变量声明“Auth”变量不是必需的,它将在正则表达式提取器中创建 .