Как использовать XmlSlurper в soapUI - PullRequest
1 голос
/ 24 апреля 2011

У меня есть скрипт groovy, который я запускаю в groovyconsole, и он работает нормально. Я нахожу количество дочерних узлов для определенного узла в своем ответе xml и распечатываю необходимые значения для каждого дочернего узла.

def path = new XmlSlurper().parse(new File('C://SoapUI//ResponseXML/Response.xml'))
NumberOfPositions =  path.Body.GetPositionsAggregateResponse.GetPositionsAggregateResult.AccountPositions.Securities.Positions.children().size()
for(def i=0; i<NumberOfPositions; i++){
println i

println  path.Body.GetPositionsAggregateResponse.GetPositionsAggregateResult.AccountPositions.Securities.Positions.PositionSummary[i].Legs[0].PositionAggregate[0].PositionID[0].text()
println  path.Body.GetPositionsAggregateResponse.GetPositionsAggregateResult.AccountPositions.Securities.Positions.PositionSummary[i].Legs[0].PositionAggregate[0].AccountID[0].text()

}

Я хочу выполнить ту же задачу в soapUI, но не могу заставить ее работать с помощью groovyutils, как упомянуто здесь: http://www.soapui.org/Scripting-Properties/tips-a-tricks.html

1) Как мне проанализировать xml-ответ на мой запрос в xmlSlurper? def path = new XmlSlurper (). parse (?)

2) Могу ли я использовать тот же код, что и выше, в soapUI?

Любая помощь приветствуется. Спасибо!

Ответы [ 2 ]

3 голосов
/ 12 мая 2011

(1)
Для анализа ответного сообщения вы можете попробовать следующее:

def response = context.expand( '${TestRequest#Response}' )
def xml = new XmlSlurper().parseText(response)

TestRequest представляет имя вашего тестового шага, который отправляет сообщение запроса SOAP.

(2)
Да, soapUI должен иметь возможность обрабатывать любой код Groovy.

0 голосов
/ 09 апреля 2014

Вы можете напрямую использовать обычный скриптовый скрипт в SoapUI. Проверьте эту ссылку , она может вам помочь. Но помните, что вместо «println» вам нужно использовать «log.info» во время сценариев в SoapUI.

...