【问题标题】:Xpath Extractor is not returning value in JmeterXpath Extractor 未在 Jmeter 中返回值
【发布时间】:2014-11-14 12:05:21
【问题描述】:

我想从下面的 HTML 中提取值。

<input type="hidden" value="09a02539-e89c-4118-bc52-185330ef36e4" name="AUTH_STATE">

$x("//input[@name='AUTH_STATE']") Tried this command in Console and it returns ( ) 

我使用了 /html/body/div/div[2]/div/form/input(firebug 返回的 xpath)和 //input[@name='AUTH_STATE'] 都在 JMETER 中返回了以下失败

Assertion error: false
Assertion failure: true
Assertion failure message: The reference to entity "scope" must end with the ';' delimiter.
See log file for further details.

我试过有没有“;”我需要从上面的 HTML 中提取值字段。如何解决这个问题?

【问题讨论】:

  • 在结果树中,查看示例响应并在那里使用 XPath 测试器来处理您的 XPath 查询。
  • 异常:org.xml.sax.SAXParseException;行号:35;列号:134;对实体“范围”的引用必须以“;”结尾分隔符。
  • 我在查看结果树中尝试了 xpath 测试器,它返回上述异常。但是当我给出 XML 格式时,我能够在登录 GET 调用的响应中找到 AUTH_STATE..

标签: xpath jmeter


【解决方案1】:
  1. 如果响应不符合 XML/HTXML,请检查 Use Tidy 框,否则 XPath 提取将失败
  2. 检查此AUTH_STATE 位是否由“主样本”返回。在某些情况下,来自第一个请求的重定向和有趣的值存在于子样本中 - 因此请仔细检查正确的“范围”
  3. 使用对 DOM 变化不敏感的 XPath 查询。在你的情况下,好的一个将是

    //input[@name='AUTH_STATE']/@value
    
  4. 有关详细信息,请参阅Using the XPath Extractor in JMeter 指南。

【讨论】:

    【解决方案2】:

    改用正则表达式提取器:

    .value="(.+?)" name="AUTH_STATE"。

    匹配数:1
    匹配[1][0]= value="09a02539-e89c-4118-bc52-185330ef36e4" name="AUTH_STATE">
    匹配[1][1]=09a02539-e89c-4118-bc52-185330ef36e4

    希望这会有所帮助。

    【讨论】:

    • 感谢您的提示.. :)
    【解决方案3】:

    通过 XPATH 提取器,如果我使用它,我将获得值..

    //*[@name='AUTH_STATE']/@value
    

    通过正则表达式提取器。获取值

     .AUTH_STATE" value="(.+?)". 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      相关资源
      最近更新 更多