2013-11-27 64 views
1

我正在使用SoapUI Pro來測試一些Web服務。我想用一個groovy腳本來生成昨天的日期和明天的日期。使用SoapUI Pro groovy腳本生成多個變量值

我想知道是否可以使用相同的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") 

我不確定如何在我的Web服務請求中引用此內容。

使用下面的只是輸入的是由腳本即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

相關問題