SoapUI Mock Response - скрипт вернул значение null - PullRequest
0 голосов
/ 11 февраля 2019

Пожалуйста, кто-нибудь может посоветовать с ударным запросом.

Я настроил ответ Mock, который успешно отвечает на входящий запрос.Я пытаюсь извлечь некоторые детали из входящего запроса, используя метод отправки «SCRIPT».

Я добавил следующую строку, но когда я выполняю ее, она возвращает 'Script return [null]'

def holder = new com.eviware.soapui.support.XmlHolder (mockRequest.requestContent)

Я что-то упустил, поскольку вижу запрос, поступающий в окне "Запрос".

Большое спасибо,

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Попробуйте это

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
def holder = groovyUtils.getXmlHolder("mockRequest#Request")

, где mockRequest - это имя вашего запроса,

вы можете изменить mockRequest # Request с mockRequest # Response, если вы хотите, чтобы ответ был воспринят как XML

Дополнительно для выбора любого значения из XML, которое вы можете использовать ниже

  def value= holder.getNodeValue( '//*:tagname/*:tagname1' )

Это даст вам значение из ответа

0 голосов
/ 12 февраля 2019

Когда я использовал XmlHolder для анализа ответа SoapUI, я использовал другое свойство в ответе на фид XmlHolder.

Например,

holder = new XmlHolder( messageExchange.responseContentAsXml );

После этого вам, возможно, придется определить некоторые изпространства имен перед извлечением интересующих вас значений.

Приведенный ниже пример является просто псевдо-примером, чтобы попытаться помочь вам двигаться ...

holder.namespaces["ns1"] = "urn:someOrg:app:userDetails:domain:1";

def userId = holder.getNodeValue("//ns1:userDetailsArray[1]/ns1:user[1]/ns1:id[1]");
def userName = holder.getNodeValue("//ns1:userDetailsArray[1]/ns1:user[1]/ns1:name[1]");
...