Groovy 如何在SoapUI中记录XML请求的时间戳并在断言中使用它?

Groovy 如何在SoapUI中记录XML请求的时间戳并在断言中使用它?,groovy,soapui,assertions,ready-api,Groovy,Soapui,Assertions,Ready Api,我在SoapUI NG Pro中有一个测试用例,它包含以下步骤: 启动进程的POST REST请求 JDBC请求,其中我检查进程开始日期是否已记录到数据库表中 延迟(模拟进程运行所需的时间) JDBC请求,其中我检查结束日期和持续时间是否已记录到表中 我想捕获POST请求的时间戳,以便在步骤2和步骤4的断言中使用 我在网上浏览了一下,有些人提到使用事件,而另一些人提到使用脚本TestStep,但我都没能让它们发挥作用 我可以得到响应后的时间戳,但我在寻找请求的时间戳。我还注意到请求日志中有一个时

我在SoapUI NG Pro中有一个测试用例,它包含以下步骤:

  • 启动进程的POST REST请求
  • JDBC请求,其中我检查进程开始日期是否已记录到数据库表中
  • 延迟(模拟进程运行所需的时间)
  • JDBC请求,其中我检查结束日期和持续时间是否已记录到表中
  • 我想捕获POST请求的时间戳,以便在步骤2和步骤4的断言中使用

    我在网上浏览了一下,有些人提到使用事件,而另一些人提到使用脚本TestStep,但我都没能让它们发挥作用


    我可以得到响应后的时间戳,但我在寻找请求的时间戳。我还注意到请求日志中有一个时间戳,但我也不知道如何访问它


    任何帮助都将不胜感激。可能还值得一提的是,我使用的是JavaScript而不是Groovy。

    您可以为Soap请求测试步骤添加一个
    脚本断言,并添加以下语句以显示所用的时间

    log.info messageExchange.response.timeTaken
    
    如果希望在其他步骤中可以访问上述值,请使用下文(将该值存储到测试用例级别,以便在同一测试用例的其他步骤中轻松访问测试用例属性):

    在后面的步骤中,使用属性扩展读取测试用例级属性值

    def timeTaken = context.expand('${#TestCase#TIME_TAKEN}') as Integer
    

    “我特别在寻找请求时间戳”-这是什么意思?如果您想要
    POST
    请求测试步骤所需的时间,则可以获得它。你想要吗?顺便说一句,
    groovy
    script是与SoapUI的最佳搭配。是的,这正是我想要的。我以前有一些JavaScript的经验,并在开始我的项目时使用它作为我的脚本语言。不幸的是,在这一点上转换到使用Groovy将是太多的工作。请检查答案,看看这是否有帮助。
    def timeTaken = context.expand('${#TestCase#TIME_TAKEN}') as Integer