2013-11-27 10 views
1

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

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

У меня есть следующее в моем оригинальном сценарии.

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") 

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

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

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

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

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

ответ

2

Назначьте даты в свойство на тестовом примере или уровне тестового набора, а в вашем 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 

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

+0

Блестящий! Это работает. Очень признателен Абхишек. – chucknor

+1

Abhishek, вы правы в своих объяснениях, но стиль testRunner.testCase.testSuite более привлекательный, разве это не так? ИМХО. В любом случае, вы дали правильный и хороший ответ. – dnim

Смежные вопросы