用于 html 中响应 header 的 jmeter 正则表达式提取器

jmeter regex extractor for response header in html

我正在尝试从我的登录采样器的响应 header 中获取值,然后在以下采样器中使用它。然而,我看到的响应 header 是 HTML 格式,而不是大多数其他帖子的 colon-separated 格式。

这是我的回复header:

<authentication>
 <token>6e36dcf1f5d84fcc7062b981891dd2b233bd8373d74f56f03a3bf328560976a2</token>
 <anonymous>false</anonymous>
 <parameters> 
   <header> 
     <userName>ps-subscriber2@mysite.com</userName>
     <userType>SUBSCRIPTION_USER</userType>
      <Authorization>6e36dcf1f5d84fcc7062b981891dd2b233bd8373d74f56f03a3bf328560976a2</Authorization>
   </header> 
 </parameters> 
</authentication>

我正在尝试不同的方法来提取 header 值,但 none 似乎有效:

这是我在 运行 计划时在结果树中看到的内容:

我不太熟悉正则表达式,我认为这是问题所在。有人可以帮助我正确使用正则表达式吗?

  1. 我觉得它不像 header,您似乎在测试 API,因此我建议您将正则表达式提取器切换为 Body
  2. JMeter 提供了 XPath Extractor,旨在处理 XML 和 XHTML 数据,请考虑切换到此测试元素而不是正则表达式提取器。相关配置如下所示:

    • 参考名称:与 RegEx 相同,即 userName
    • XPath 查询://userName
    • 如果响应不是 XML/XHTML-compliant,您将需要检查 Use Tidy
  3. 您可以使用 View Results Tree 具有 RegExp Tester 和 XPath Tester 的侦听器来根据实际响应评估您的表达式

参考文献: