Я новичок в SoapUI и только что настроил очень простой MockService.Можно ли манипулировать ответом таким образом, чтобы для конкретного запроса элементы ответа создавались динамически?
Сценарий 1:
Запрос:
<record>
<identifier>ID1</identifier>
</record>
Ответ:
<response>
<child1>child 1</child1>
</response>
Сценарий 2:
Запрос:
<record>
<identifier>ID2</identifier>
</record>
Ответ:
<response>
<child2>child 2</child2>
</response>
Это для простого теста, и мне не нужно делать это больше, чем указано выше.В настоящее время я делаю следующее, чтобы получить желаемые результаты, но, поскольку я совершенно новичок в этом, я уверен, что есть лучшие альтернативы:
Ответ:
<response>
${dynElement}
</response>
Groovy скрипт:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
def reqRef = String.valueOf(holder.getNodeValue("//identifier"))
def child1Text = "<child1>child 1</child1>"
def child2Text = "<child2>child 2</child2>"
if (reqRef == "ID1") {
context.setProperty("dynElement", child1Text)
} else if (reqRef == "ID2") {
context.setProperty("dynElement", child2Text)
}