Как вытащить значение из respons'a и подставить в новый request в SOAPui?


(Юрий Черников) #1

Всем привет. В автоматизации сервисов с помощью SOAP я новичок. Пытаюсь автоматизировать методы одного сервиса, который по запросу возвращает параметр(Номер заявки) и вот этот номер заявки нужно скопировать и подставить в запрос другого метода этого же сервиса. Подскажите, где может есть подобная инструкция или может кто проектом поделиться по которому можно разобраться, в общем нужна любая помощь по решению проблемы.


#2

(Юрий Черников) #3

ВОзникает вопрос, а как в SOAP можно на Груви писать? Нужно связку настраивать?


(sidelnikovmike) #4

по поводу вынуть параметр и вставить его в другой запрос - нужно сделать трансфер(вроде как шаг называется property transfer). В версии pro - можно прямо в респонсе кликнуть на элемент и сделать что-то типа transfer…
По поводу груви - попробуйте сразу, настройки вроде особо не требуются. Если не выполнится скрипт - то увидите ошибку и по ней можно будет разобраться.
Самое простое проверить - сделайте log.info(“test”)


(Максим Таран) #5

Что значит в SOAP? Ты имеешь в виду SoapUI или SOAP как технологию?


#6

Мой ответ был не совсем развернутый, но чтобы ответить нужно больше деталей. А вообще, здесь можно найти исчерпывающие ответы практически на все популярные вопросы.Например, http://www.soapui.org/Scripting-Properties/scripting-and-the-script-library.html


(Alexander Matsaylo) #7

ja lichno sozdau property step kuda vse stepi obraschaut’sja za svoim znacheniem.

import groovy.json.JsonSlurper

def td_Properties = "TestData.Properties"
def slurper = new JsonSlurper()
def r = slurper.parseText(context.expand( '${get-all-payees#Response}' ))


def getPayeeIds(json){
	json.payees.id.each(){}
}

def random = new Random()
log.info getPayeeIds(r)
testRunner.testCase.testSteps[td_Properties].setPropertyValue('payeeTo',getPayeeIds(r)[random.nextInt(r.payees.size()) ] )

posle ispolnenija etogo koda u vas v testData.Properties budet payTo=value

Drugoi step mozhet ego chitat’ tak

${TestData.Properties#payeeTo}