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