【问题标题】:jmeter regex extractor for response header in htmljmeter 正则表达式提取器,用于 html 中的响应标头
【发布时间】:2016-02-12 20:45:11
【问题描述】:

我正在尝试从登录采样器的响应标头中获取值,然后在以下采样器中使用它。但是,我看到的响应标头是 HTML 格式,而不是像大多数其他帖子那样以冒号分隔。

这是我的响应标头:

<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>

我正在尝试不同的方法来提取标题值,但似乎都没有工作:

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

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

【问题讨论】:

  • 试试&lt;userName&gt;([^&lt;]*)
  • 还是不行。结果相同
  • 建议的正则表达式应该工作。无论如何,您的正则表达式都需要更新为&lt;username&gt;(.*?)&lt; 之类的东西,以防止它捕获结束标记之后的所有内容。

标签: html regex jmeter html-parsing


【解决方案1】:
  1. 在我看来,它不像标题,您似乎正在测试 API,因此我建议将您的正则表达式提取器切换到 Body
  2. JMeter 提供XPath Extractor 设计用于处理 XML 和 XHTML 数据,请考虑切换到此测试元素而不是正则表达式提取器。相关配置如下:

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

参考资料:

【讨论】:

  • 谢谢德米特里。是的,我正在测试 API,XPATH 提取器正确地抓取了我需要的所有值。
猜你喜欢
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多