【问题标题】:XPath Extractor - SAXParseException - Xpath QueryXPath 提取器 - SAXParseException - Xpath 查询
【发布时间】:2016-10-14 13:57:56
【问题描述】:

我需要从响应数据中提取与 serviceUsername 关联的值 53177610 并使用 XPATH Extractor,如下所示

响应数据

<input type="hidden" name="serviceUsername"

         value="53177610"> <input type="hidden"

XPATH 提取器

参考名称:xpathserusername1

XPATH 查询://input[@type="hidden"][@name="serviceUsername"]/@value

默认值:未找到

我收到以下错误 SAXParseException。 断言错误:假 断言失败:真 断言失败消息:元素类型“link”必须由匹配的结束标记“”终止。 有关详细信息,请参阅日志文件。

Xpath Query中是否有错误可以拾取

【问题讨论】:

  • 您能否发布一个更大的 xml sn-p,以便我们根据文档结构检查您的 xpath
  • 听起来您的输入是 HTML,可能不是有效的 XML。
  • 对答案有任何反馈吗?如果可以的话,它应该被接受和投票,以便用户知道它是可用的。谢谢

标签: xpath jmeter


【解决方案1】:

听起来您的响应不符合 XML/XHTML 标准。 JMeter 仍然可以处理它,但您需要在 XPath Extractor 中勾选Use Tidy (tolerant parser) 框

如果选中此框,JMeter 将使用JTidy 库来“规范化”无效的 XML 或 HTML,因此您的 XPath 查询应该会成功。

您可以使用View Results Tree 侦听器的“XPath Tester”模式测试您的 XPath 表达式

有关使用 XPath 查询执行关联的更多信息,请参阅 Using the XPath Extractor in JMeter 指南

【讨论】:

    【解决方案2】:

    您的查询没有问题,问题是您的输入不是格式正确的 XML。也许是 HTML。

    【讨论】:

      【解决方案3】:

      对于 HTML,最好的提取器是 JMeter 中的 CSS/JQuery。 XPath Extractor 用于 XML 而不是 HTML。整理的成本很高,而且 XPath 库的性能不如 CSS/JQuery。 最后,它是一种更易于维护和简单的方法,见下文。

      CSS/JQuery 表达式将是:

      输入[名称=服务用户名]

      和属性:

      价值

      这给了你:

      【讨论】:

        猜你喜欢
        • 2011-02-28
        • 1970-01-01
        • 1970-01-01
        • 2016-05-21
        • 2014-07-18
        • 1970-01-01
        • 2020-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多