1

SoapUI Pro を使用して、いくつかの Web サービスをテストしています。Groovy スクリプトを使用して、昨日の日付と明日の日付を生成したいと考えています。

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

Web サービス リクエスト内でこれを参照する方法がわかりません。

以下を使用すると、スクリプトによって生成された最後の値、つまり TomorrowDate を入力するだけです

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

私はそれが可能かもしれないと思った..

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

1 に答える 1

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

提案された編集で述べたように、両方のアプローチが正しく、何かを行うには複数の方法があります。タスクを達成する方法の1つを提供しました。

于 2013-11-27T15:56:34.467 に答える