我尝试使用JMeter recommendation通过XPath Extractor迁移到XPath2
从JMeter 5.0开始,您应该使用XPath2 Extractor,因为它提供了更好,更轻松的名称空间管理,更好的性能以及对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
与/*[local-name()='Object']/*[local-name()='Property']/*[local-name()='Value']
的结果与@EdBangga建议的结果相同
XPath2 Extractor是否存在问题或语法的重大更改?
答案 0 :(得分:1)
您的问题归因于XML(i)中的命名空间
一旦显示了带有命名空间的完整XML,我可以提供更多信息,但仅作总结: