簡體   English   中英

如何明智地比較 SoapUI 中的兩個 XML 文件?

[英]How to wisely compare two XML files in SoapUI?

我遇到過兩種不同的 webservice 方法應該返回完全相同的 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 文件之間的各種差異。 當然,一旦發現這些差異,您可以自由選擇如何顯示這些差異。

XMLUnit 適合您的用例。 或者您可以嘗試使用 JAXB 將 XML 轉換為 Java 對象的替代方法,然后編寫您的自定義比較器。 (JAXB 工具可以從您的 DTD 自動生成類)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM