Как сравнить значения из ответа двух разных запросов в SOAP UI, используя groovy?
Я использую SOAP UI Pro для автоматизации тестирования, и я новичок в этом. Я использую этот инструмент для автоматизации API отдыха. Я отправил запрос службы POST и получил ответ, например: уникальный идентификатор, имя, фамилия.
Теперь я отправляю еще один запрос GET с входными параметрами в качестве имени, фамилии из моего предыдущего ответа на запрос POST (с использованием шага передачи свойства), и в ответ я получаю еще один уникальный идентификатор (ответ GET).
Мое требование состоит в том, чтобы сравнить эти два уникальных идентификатора из этих двух разных ответов, используя groovy, и пометить прохождение теста или неудачу на основе результата. Пожалуйста помоги.
1 ответ
Вы можете получить доступ к свойствам, которые вы хотите сравнить и выполнить и assert
проверка вашего необходимого состояния в отличном сценарии.
Вы комментируете в своем вопросе, что используете шаг передачи свойства, однако не указали, где храните свои результаты, потому что, например, я полагаю, что вы храните значения в свойствах TestCase:
// you've to use the name of the property you set in the property transfer step
def fn = testRunner.testCase.getPropertyValue('firstName_firstResponse')
def fn2 = testRunner.testCase.getPropertyValue('firstName_secondResponse')
assert fn == fn2, "THE FIRST NAME AREN'T EQUALS"
В контексте тестового скрипта Groovy у вас есть testRunner
объект, который вы можете использовать для доступа testCase
, testSuite
... а затем получить желаемое имущество.
Другой возможный подход состоит в том, чтобы сделать то же самое, но получить свойства непосредственно из response
вашего testStep и выполнения XPath, для этого вы можете использовать следующий groovy скрипт:
def fn = context.expand('${TestStepName_1#response#*://firstName}')
def fn2 = context.expand('${TestStepName_2#response#*://firstName}')
assert fn == fn2, "THE FIRST NAME AREN'T EQUALS"
подобно testRunner
context
Объект уже в контексте Groovy TestStep. Обозначения, используемые в context.expand
является ${Test Step Name#response#XPath}
,
Надеюсь, поможет,