【问题标题】:Using SoapUI Pro groovy script to generate multiple variable values使用 SoapUI Pro groovy 脚本生成多个变量值
【发布时间】:2013-11-28 00:37:51
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: soapui groovyshell


    【解决方案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
    

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

    【讨论】:

    • Abhishek,你的解释是对的,但是“testRunner.testCase.testSuite”的风格更时髦,不是吗?恕我直言无论如何,您提供了正确而良好的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多