1

我正在使用 SoapUI Pro 来测试一些 Web 服务。我想使用一个 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")

我不确定如何在我的网络服务请求中引用它。

使用下面的只是输入脚本生成的最后一个值,即明天日期

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

正如我在建议的编辑中所说,这两种方法都是正确的,并且有多种方法可以做某事。我只是提供了一种完成任务的方法。

于 2013-11-27T15:56:34.467 回答