JMeter -XPath2 Extractor 不作为 XPath 工作
JMeter -XPath2 Extractor not working as XPath
我尝试使用 JMeter recommendation 通过 XPath Extractor 迁移到 XPath2
Since JMeter 5.0, you should use XPath2 Extractor as it provides better and easier namespace management, better performances and support for XPath 2.0
但是对于简单的查询我没有得到结果,对于输出
<Object classId="QueryResultRow"><Property i:type="fn40:SingletonId" propertyId="Id"><Value>{abc-def}</Value></Property><Property i:type="fn40:SingletonString" propertyId="DCN"><Value>D112345</Value></Property></Object>
我使用查询 /Object/Property/Value
或 //Object//Property//Value
,它只适用于 XPath 而不是 XPath2
结果:
Value={abc-def}
Value_1={abc-def}
Value_2=D112345
Value_matchNr=2
与@EdBangga 建议的 /*[local-name()='Object']/*[local-name()='Property']/*[local-name()='Value']
相同的结果
XPath2 Extractor 是否有问题或语法有重大变化?
您的问题是由于 XML (i)
中的名称空间引起的
一旦您展示了带有命名空间的完整 XML,我可以提供更多信息,但总结一下:
- 您需要配置别名 i 以匹配完整命名空间(您可以使用 XPath2 测试器和显示命名空间别名)
- 那么它应该可以工作
我尝试使用 JMeter recommendation 通过 XPath Extractor 迁移到 XPath2
Since JMeter 5.0, you should use XPath2 Extractor as it provides better and easier namespace management, better performances and support for XPath 2.0
但是对于简单的查询我没有得到结果,对于输出
<Object classId="QueryResultRow"><Property i:type="fn40:SingletonId" propertyId="Id"><Value>{abc-def}</Value></Property><Property i:type="fn40:SingletonString" propertyId="DCN"><Value>D112345</Value></Property></Object>
我使用查询 /Object/Property/Value
或 //Object//Property//Value
,它只适用于 XPath 而不是 XPath2
结果:
Value={abc-def}
Value_1={abc-def}
Value_2=D112345
Value_matchNr=2
与@EdBangga 建议的 /*[local-name()='Object']/*[local-name()='Property']/*[local-name()='Value']
相同的结果
XPath2 Extractor 是否有问题或语法有重大变化?
您的问题是由于 XML (i)
中的名称空间引起的一旦您展示了带有命名空间的完整 XML,我可以提供更多信息,但总结一下:
- 您需要配置别名 i 以匹配完整命名空间(您可以使用 XPath2 测试器和显示命名空间别名)
- 那么它应该可以工作