如何使用Jmeter的正则表达式提取响应?

时间:2017-05-05 12:52:38

标签: jmeter

如何使用Jmeter的正则表达式提取响应。

Jmeter没有提取我想要提取的响应项。我已经尝试了几次,但我失败了。如何提取响应项?

响应数据如屏幕截图所示:

我需要提取的值已经突出显示。

我尝试使用以下表达式进行提取,但失败了:

<h2>.+?<a hfref="http://(.+?)">.+?</a>.</h2>

2 个答案:

答案 0 :(得分:0)

取决于可以产生的变化(我的意思是,表单是如何变化的?是只有查询字符串ID参数不同吗?可能有另一个响应(比移动对象)带有您不喜欢的ID ; t想解析?等。),常规Expession Extractor Post-Processor中的正则表达式(这里最适合)会有所不同。

从最简单的上下文无关,Id=(\d+)(考虑到您有数字ID),使其不区分大小写(?i)Id=(\d+)和/或字母数字Id=([0-9a-zA-Z]+),甚至是任何符号都是in(但在这种情况下,您将被迫开始包含上下文)Id=(.+?)& - 最多使用更广泛的上下文来评估整个多行内容,例如(?im)<title>Object\smoved</title>.+<a\shref=.+Id=(\d+)

并且不要忘记使用$1$作为模板并参加第1场比赛。

我建议你坚持使用你能负担得起的最狭隘和最不受环境影响的人(这里的第一个例子)。 添加一些断言以确保您处于正确的页面上 - 尽管它们是在后处理器之后执行的,但您至少看到了一些错误。

答案 1 :(得分:0)

请按照以下步骤提取Id值。

Regular Expression Extractor中,配置以下详细信息。将正则表达式用作Public/FormsPreview.aspx\?Id\=(.+?)&以检索Id

您也可以使用其他独特的左/右边界作为正则表达式。

Reg Ex Config

如何验证正则表达式提取器?

  1. 要验证正则表达式提取器,请添加Debug Sampler(右键单击您的主题组&gt; Add > Sampler > Debug Sampler

  2. 执行测试计划

  3. View Results Tree中,您可以看到c_ID值,如下所示。

  4. Reg Ex Output