Jmeter - 正则表达式提取器

Jmeter - Regular Expression Extractor

我是 jmeter 的新手,我遇到了正则表达式提取器的问题。

详情:
Http 请求:/apps/Account/LogOn/TestFirm

这是我收到的回复(为了安全起见,我进行了编辑)。 结果树的响应似乎来自重定向消息,可能是它的隐藏响应。

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://xxxxxxx.xxxx.xx.xxx.com/idp/xxxxx?ClientID=LandingPage_Dev&amp;SAMLRequest=fZJR...................CWfsOv17a4G70I2zPlSTrKdX3%2F7G9TM3D">here</a>.</h2>
</body></html>
!DOCTYPE html>

现在我需要捕获 SAMLRequest 并且我使用正则表达式提取器获取以下信息:

Reference Name: SAMLRequest
Regular Expression: SAMLRequest=(.+?)">here 
Template: $
Match no (0 for random): 1
Default value:

在下面的 HTTP 请求中,我使用了 ${SAMLRequest},在请求消息中,它作为 ${SAMLRequest} 而不是值。我认为没有任何东西被捕获。

任何人都可以帮助我如何捕获如上所示的隐藏响应?

还有,什么是RelayState?这里适用吗?

编辑:

191 - 是从响应中接收 SAMLRequest 的地方。
我添加了正则表达式提取器,我想这里的值是隐藏的还是什么?

193 - 我正在使用 ${SAMLRequest} 并且在请求正文中我可以看到

&SAMLRequest=${SAMLRequest}

而不是实际值。

  1. 你写的Reg Ex是正确的,检查这个SAMLRequest到底是在哪里生成的,并在那里使用Reg Ex。

  2. 尝试将匹配号用作 0,并确保要检查的字段是响应 Headers(因为我可以看到该值正在 header 标签)和正则表达式

您可能需要选中正则表达式提取器中的 "Apply to" 复选框。此参数定义哪个正则表达式将仅应用于主要样本结果或也应用于嵌入资源。

您可能需要考虑使用 BSF 预处理器执行此操作,这将为您提供全方位的 java 字符串解析操作。

当然,有一种方法可以使用正则表达式提取器来完成这项工作,但 BSF 预处理器应该同样有效,并且可以让您使用更习惯的语法来绕过障碍(如果你更习惯java)