Получить значения из XML-ответа с помощью XML Slurper не работает - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь получить значение из XML-ответа, но он ничего не печатает. Обратите внимание, что я использую SOAP UI для тестирования веб-службы и написал простой фрагмент кода для получения policyid из приведенного ниже XML-ответа.

Ниже приведен код; если вы видите вторую строку снимков экрана, она печатает ПУСТОЕ значение.

SOAP UI Logs/Output

Я пробовал разные варианты, предложенные на разных сайтах, но ничего не помогло

Groovy Script

def response = context.expand( '${XMLService#Response}' )

def xml = new XmlSlurper().parseText(response);

log.info xml

log.info(xml.EQuoteResponse.Policy.PolicyId.text())

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Это должно работать:

def tstStep =  testRunner.testCase.testSuite.testCases["yourTestCaseName"].testSteps["YourXMLRequestName"]
def response = tstStep.getPropertyValue("response")
def xml = new XmlSlurper().parseText(response)
log.info "PolicyId:::" + xml.Policy.PolicyId.text()
0 голосов
/ 13 июня 2019

Когда вы анализируете xml, в результате вы фактически находитесь в корневом узле ... Таким образом, вам не нужно EQuoteResponse при запросе документа

log.info(xml.Policy.PolicyId.text())

Будет работать

...