XPath2Tester在根元素之前的文档中引发标记,必须在Jmeter中格式正确

时间:2018-12-18 20:03:48

标签: xml jmeter

XPath2Tester引发

"Exception:net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 3; The markup in the document preceding the root element must be well-formed.
"

*/[@testname="TimeCardLoad_Login"  and enabled="true"]

不确定出了什么问题。

enter image description here

enter image description here

当我尝试使用XPathTester抛出异常时

Exception:javax.xml.transform.TransformerException: A location step was expected following the '/' or '//' token.

enter image description here

当我尝试在https://www.freeformatter.com/xpath-tester.html#ad-output中进行以下所有操作时,它将返回结果。

//*[@testname="TimeCardLoad_Login"]
//*[@testname="TimeCardLoad_Login"] [@enabled="true"]
//*[@testname="TimeCardLoad_Login" and @enabled="true"]

但是当我使用XPath Extractor在Jmeter中尝试相同的方法时

enter image description here

enter image description here

enter image description here

谢谢, 拉吉

2 个答案:

答案 0 :(得分:0)

您正在HTML文档上使用XPath2测试。

在JMeter 5.0中实现的

XPath2 Tester和XPath2 Extractor仅适用于XML,如果您想在HTML上使用XPath(不建议使用),则可以选择使用XPath Tester和XPath Extractor,因为它们允许整理文档以使其XML格式正确。

要从HTML提取数据,请使用CSS Selector Extractor

答案 1 :(得分:0)

您所做的事情很奇怪,您尝试将XPath expression应用于HTTP Request采样器的响应,该采样器在显示图像时返回服务器响应我们JMeter .jmx测试计划。

您不会在服务器响应中收到JMeter测试计划中的任何内容,因此您的方法含糊不清,请尝试重新考虑您在做什么。

如果出于任何原因需要从.jmx测试计划中获取价值-您应按以下方式配置HTTP请求采样器(请参见How to Extract Data From Files With JMeter文章)

  • 协议:file
  • 路径:C:/JMETER/PROJECT_ST_FINIEX/SmartTime_Fenix_TimeCardLoad_SteppingThreadGroup.jmx

enter image description here

这样,您的XPath查询将成功,但是我看不到将这种形式的信息作为JMeter变量的原因。