Java 使用Jayway';验证XML属性;他放心吧

Java 使用Jayway';验证XML属性;他放心吧,java,xml,api,soap,rest-assured,Java,Xml,Api,Soap,Rest Assured,我正在尝试验证xmlns:ns1=”http://thomas-bayer.com/blz/“在以下XML中使用Jayway的rest assured's 是的一个属性 部分解决方法如下: XmlPath xmlPath = new XmlPath(xmlResponse).using(xmlPathConfig().declaredNamespace("ns1", "http://thomas-bayer.com/blz/")); // Then assertThat(xmlPath.

我正在尝试验证xmlns:ns1=”http://thomas-bayer.com/blz/“在以下XML中使用Jayway的rest assured's

是的一个属性


部分解决方法如下:

 XmlPath xmlPath = new XmlPath(xmlResponse).using(xmlPathConfig().declaredNamespace("ns1", "http://thomas-bayer.com/blz/"));

// Then

 assertThat(xmlPath.getString("Envelope.Body.getBankResponse.ns1:details.ns1:bezeichnung.text()"), equalTo("ABK-Kreditbank"));
我之所以这么说,部分原因是,虽然它确实证明了名称空间ns1已被使用,因此必须定义为有效,但它并未表明:

xmlns:ns1="http://thomas-bayer.com/blz/"
因为如果我更改URI,测试仍然通过


有人有更好的答案吗?

部分解决方法如下:

 XmlPath xmlPath = new XmlPath(xmlResponse).using(xmlPathConfig().declaredNamespace("ns1", "http://thomas-bayer.com/blz/"));

// Then

 assertThat(xmlPath.getString("Envelope.Body.getBankResponse.ns1:details.ns1:bezeichnung.text()"), equalTo("ABK-Kreditbank"));
我之所以这么说,部分原因是,虽然它确实证明了名称空间ns1已被使用,因此必须定义为有效,但它并未表明:

xmlns:ns1="http://thomas-bayer.com/blz/"
因为如果我更改URI,测试仍然通过


有人有更好的答案吗?

在即将发布的REST Assured版本(可能是2.9.1)中,您可以将XmlPath配置为不知道名称空间。这意味着你可以这样做:

XmlPath xmlPath = new XmlPath(xmlResponse).using(xmlPathConfig().namespaceAware(false));
assertThat(xmlPath.getString("soapenv:Envelope.soapenv:Body.ns1:getBankResponse.@xmlns:ns1"), equalTo("http://thomas-bayer.com/blz/"));
在添加了以下Maven存储库后,您今天可以根据版本
2.9.1-SNAPSHOT
进行尝试:

<repositories>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots />
        </repository>
</repositories>

奏鸣曲
https://oss.sonatype.org/content/repositories/snapshots/

在即将发布的REST-Assured版本(可能是2.9.1)中,您可以将XmlPath配置为不知道名称空间。这意味着你可以这样做:

XmlPath xmlPath = new XmlPath(xmlResponse).using(xmlPathConfig().namespaceAware(false));
assertThat(xmlPath.getString("soapenv:Envelope.soapenv:Body.ns1:getBankResponse.@xmlns:ns1"), equalTo("http://thomas-bayer.com/blz/"));
在添加了以下Maven存储库后,您今天可以根据版本
2.9.1-SNAPSHOT
进行尝试:

<repositories>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots />
        </repository>
</repositories>

奏鸣曲
https://oss.sonatype.org/content/repositories/snapshots/

在当前发布的版本(2.9.0)中没有更好的选项。在当前发布的版本(2.9.0)中没有更好的选项。谢谢。正是我想要的。谢谢。这正是我想要的。