Как с умом сравнить два XML-файла в SoapUI?

У меня есть ситуация, когда два разных метода веб-сервиса должны возвращать один и тот же XML-файл.

Прямо сейчас, когда я получаю эти два ответа, я сравниваю эти XML-файлы, используя структуру XMLUnit, которая показывает местоположение 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.

Есть ли лучший способ показать эти различия?


person JMK    schedule 26.02.2016    source источник
comment
Вам нужно лучше объяснить средства для вас!   -  person SiKing    schedule 26.02.2016
comment
@SiKing Моя цель - найти лучшее решение для отображения различий, чем запись этого в консоль SoapUI. Я спрашивал об этом, потому что написал код для ручных тестировщиков, которые используют SoapUI, и им не нравится использовать его консоль. Поэтому я спросил о каком-либо другом подходе.   -  person JMK    schedule 27.02.2016


Ответы (2)


Я провел некоторые исследования и разработки по этому поводу, и это то, что я могу вам сказать, насколько мне известно. XMLUnit предлагает наиболее стабильные и легкие инструменты, которые могут эффективно находить различные различия между двумя XML-файлами. Конечно, у вас есть свобода выбора, как показать эти различия, когда они будут обнаружены.

person SoorajSethumadhavan    schedule 26.04.2016
comment
Аналогичный вопрос - stackoverflow.com/questions/4727299 / - person SoorajSethumadhavan; 26.04.2016

XMLUnit хорош для вашего случая использования. или вы можете попробовать альтернативный подход использования JAXB для преобразования XML в объекты Java, а затем написать свои собственные компараторы. (Инструменты JAXB могут автоматически генерировать классы из ваших DTD)

person Anil    schedule 26.02.2016