java - 如何在 SoapUI 中明智地比较两个 XML 文件?

标签 java xml groovy soapui xmlunit

我遇到过两种不同的 Web 服务方法应该返回完全相同的 XML 文件的情况。

现在,当我收到这两个响应时,我使用 XMLUnit 框架比较这些 XML 文件,该框架显示 xpath 位置 + 各个节点中的差异,如以下代码所示:

XMLUnit.setIgnoreWhitespace(true);
DetailedDiff diff = new DetailedDiff(XMLUnit.compareXML(firstXML,secondXML));
List<Difference> allDiifferences= diff.getAllDifferences();

for(Difference difference : allDiifferences){
    System.out.println(difference.getControlNodeDetail().getXpathLocation()+" ("+difference.getControlNodeDetail().getValue()+") /("+difference.getTestNodeDetail().getValue()+")");
}

当我在 SoapUI 中运行测试时,我使用

log.info
log.error

显示 XML 中存储的差异的方法。

有没有更好的方法来显示这些差异?

最佳答案

我已经对此进行了一些研发,据我所知,这就是我可以告诉你的。 XMLUnit 提供了最稳定、最轻量级的工具,可以有效地查找两个 xml 文件之间的各种差异。当然,一旦发现这些差异,您可以自由选择如何显示它们。

关于java - 如何在 SoapUI 中明智地比较两个 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35646716/

相关文章:

groovy - 沿途转置收集键的 map

groovy - xml 使用 UTF-8 编码,不带 BOM groovy

java - 无法在 JMC 中为 Java 应用程序和 Eclipse IDE 打开飞行记录器

java - 无法解析的日期 : 'Day name in week' (SimpleDateFormat)

java - 在eclipse中导出一个Android项目

c++ - 从 xsd 生成 xml 文件的工具(用于测试)

java - 并行流中的 Fork-Join 池

java - 如何在android的操作栏中创建按钮

java - 使用 SimpleXML 读取 XML

maven - Grails插件依赖项在应用程序中不可用