Использование groovy-скрипта SoapUI Pro для генерации нескольких значений переменных

Я использую SoapUI Pro для тестирования некоторых веб-сервисов. Я хочу использовать отличный скрипт для генерации вчерашней и завтрашней даты.

Я хочу знать, можно ли использовать один и тот же groovy-скрипт для генерации обоих значений или для генерирования каждой переменной требуется другой groovy-скрипт.

У меня есть следующее в моем groovy script.

def today = new Date()
def yesterday = today.previous()
def tomorrow = today.next()

def yesterdayDate = yesterday.format("yyyy-MM-dd'T'HH:mm:ss")
def tomorrowDate = tomorrow.format("yyyy-MM-dd'T'HH:mm:ss")

Я не уверен, как ссылаться на это в моем запросе веб-службы.

Используя приведенное ниже, просто вводит последнее значение, которое было сгенерировано сценарием, т.е.

validFrom>${Dates#result}</validFrom>

Я думал, что можно сделать что-то вроде ..

<validFrom>${Dates#result#tomorrowDate}</validFrom>

person chucknor    schedule 27.11.2013    source источник


Ответы (1)


Назначьте даты свойству на уровне тестового примера или набора тестов, а в вашем xml просто вызовите эти значения.

//to set test suite level property
testRunner.getTestCase().getTestSuite().setPropertyValue('yesterdayDate',yesterdayDate)
testRunner.getTestCase().getTestSuite().setPropertyValue('tomorrowDate',tomorrowDate)

//Примечание: свойство должно существовать, иначе вы получите ошибку.

//In the xml
<validFrom>${#TestSuite#yesterdayDate}</validFrom>
<validFrom>${#TestSuite#tomorrowDate}</validFrom>

Вы можете сделать то же самое, используя свойства на уровне тестового примера.

В качестве исправления синтаксиса было указано, что

testRunner.getTestCase().getTestSuite()

должно быть написано как

testRunner.testCase.testSuite

и, как я сказал в предлагаемом редактировании, оба подхода верны, и есть несколько способов что-то сделать. Я лишь предоставил один из способов выполнения задачи.

person Abhishek Asthana    schedule 27.11.2013
comment
Абхишек, ты прав в своем объяснении, но стиль testRunner.testCase.testSuite более заводной, не так ли? ИМХО В любом случае, вы дали правильный и хороший ответ. - person dnim; 27.11.2013