Как сравнить значения из ответа двух разных запросов в 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},

Надеюсь, поможет,

Другие вопросы по тегам