使用JMeter的正则表达式提取器,输出保存在哪里?

时间:2015-04-24 18:51:32

标签: regex jmeter

我正在使用正则表达式提取器提取我需要在我的测试中使用以下JMeter Sampler的身份验证代码。此代码保存在响应标题中作为身份验证:djdjf...##(一串字母和数字后跟##)。

在正则表达式提取器“要检查的字段”中,我选择了“响应标题”单选按钮。

然后我进入了:

  

参考名称:Auth

     

正则表达式:\ A \ w * == \ z

     

模板:$ 1 $

     

比赛号码(随机0):1

     

默认值:NOT FOUND

正则表达式提取器执行的结果在哪里得到保存?

我希望结果会保存在用户定义变量中,在我的测试计划的用户定义变量部分中定义为Auth,但是如果我在正则表达式提取器的“参考名称”中输入Auth,并运行JMeter, Auth永远不会被填充。

3 个答案:

答案 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 appletView Results Tree listenerdebug your regular expression

我建议替换你的"正则表达"使用像Authentication: (.*)这样简单的东西,保持其他字段不变。

提取后,您应该能够在必要时将提取的标题引用为${Auth}${__V(Auth)}

声明" Auth"通过用户定义变量的变量不是必需的,它将在正则表达式提取器中创建。