2013-10-07 3 views
0

Использование Groovy и XMLUnit Я пытаюсь написать сценарий для сравнения вывода XML-данных веб-сервисов из нескольких конечных точек. Попытка получить его работу от одной конечной точки, то перебрать конечные точки для сравнения вывода, однако, я по-прежнему получает следующее сообщение об ошибке:Groovy и XMLUnit: сравнить результаты webservice

Caught: groovy.lang.GroovyRuntimeException: 
Could not find matching constructor for: 
    org.custommonkey.xmlunit.Diff(groovy.util.Node, groovy.util.Node) 
groovy.lang.GroovyRuntimeException: 
Could not find matching constructor for: 
    org.custommonkey.xmlunit.Diff(groovy.util.Node, groovy.util.Node) 

Я уверен, что это имеет отношение к моей неопытности как XmlParser/XmlSlurper и XMLUnit (он же новичок). Я очень ценю любые указатели в правильном направлении. Вот пример кода, который вызывает исключение:

@Grab(group='xmlunit', module='xmlunit', version='1.5') 
import org.custommonkey.xmlunit.* 

def url = "http://www.webservicex.net//geoipservice.asmx/GetGeoIP?IPAddress=173.201.44.188" 
def xmlParserResults = new XmlParser().parse("$url") 
//same thing happens if I use... 
//def xmlSlurperResults = new XmlSlurper().parse("$url") 

def xmlDiff = new Diff(xmlParserResults, xmlParserResults) 
assert xmlDiff.identical() 

Спасибо заранее!

ответ

1

url возвращает xml и Diff берет две строки для сравнения (в вашем случае вы сравниваете узлы). Таким образом, самым простым способом сравнения было бы использовать URL вместо того, чтобы пытаться его проанализировать, используя XmlParser или XmlSlurper.

def url = 
"http://www.webservicex.net//geoipservice.asmx/GetGeoIP?IPAddress=173.201.44.188" 
def xmlString = new URL(url).text 

def xmlDiff = new Diff(xmlString, xmlString) 
assert xmlDiff.identical() 

В случае вышеуказанного просто пример, а не рабочий пример удара несколько конечных точек, то точка будет представлять вывод XML как строку, а затем сравнить.

+1

О, мое слово, я не могу поверить, что это еще проще, чем я думал! Большое спасибо dmahapatro! – nomadcanuck

Смежные вопросы