繁体   English   中英

Wiremock和XPath属性测试

[英]Wiremock and XPath attribute testing

假设我有一个包含以下代码段的 XML 请求

<foo bar="12356"/>

我的服务将此代码段发送到另一个服务以执行操作。 该服务需要一个具有bar属性且没有文本节点的foo节点。 以下表达式与该节点匹配得很好

//foo[@bar='12356']

问题是 Wiremock 期望文本节点出现在匹配的foo节点中,因此,它认为前面的表达式不匹配。

使用wiremock你如何测试XML匹配属性而不是文本节点?

根据 XPath 规范,命名空间很重要。 如果 xml 文件如下

<?xml ...>
<Envelope>
    <foo bar="12356"/>
</Envelope>

然后提供的 XPath 表达式将起作用。 但是一旦你添加了xmlns=声明,你的节点就不再是foo而是"[xmlns]":foo 结果, //foo只匹配无前缀的foo元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM