如何使用groovy在soapui中创建datetime字符串

如何使用groovy在soapui中创建datetime字符串,groovy,soapui,Groovy,Soapui,您好,我正在使用SoapUI测试web服务。我需要创建一个带有电子邮件地址和密码的客户记录。创建客户记录服务包含emailid和密码,当我在SoapUI中单击创建客户记录中的run(submit request)按钮时,我应该会得到附有当前创建时间和任何密码的emailid 如何使用groovy做到这一点?在soapUI中插入动态日期时间值有两种常见情况,使用: 插入格式化的时间戳值。在这种情况下,请使用SimpleDataFormat: ${=new java.text.simpleDataF

您好,我正在使用SoapUI测试web服务。我需要创建一个带有电子邮件地址和密码的客户记录。创建客户记录服务包含emailid和密码,当我在SoapUI中单击创建客户记录中的run(submit request)按钮时,我应该会得到附有当前创建时间和任何密码的emailid


如何使用groovy做到这一点?

在soapUI中插入动态日期时间值有两种常见情况,使用:

  • 插入格式化的时间戳值。在这种情况下,请使用SimpleDataFormat:

    ${=new java.text.simpleDataFormat(“yyyy-MM-dd'T'HH:MM:ssZ”).format(new-Date())}

  • 将时间戳格式化为xsd:dateTime值。使用DatatypeFactory创建newXMLGregorianCalendar的实例:

    ${=javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.getInstance())}


  • 我认为第一个案例对你有效。在请求中插入代码,并根据需要调整时间戳格式。顺便说一句,它也适用于模拟服务器的响应。

    这里有一个快速的解决方案,不需要使用jar,它可以减轻Apache Commons或

    比较日期的双线模式(例如:时间之前/之后):

    或单线模式:

    println(new Date().format("yyyy-MM-dd'T'HH:mm:ss SSS"))
    

    如果你做了大量的日期操作,我会使用上面的一些API。我认为开箱即用的Groovy还没有高级的日期比较。

    注释使用的是纯
    Groovy
    ,而
    SoapUI
    没有使用一些常见的语法,比如
    println
    ,而是使用
    log.info

    today = new Date().format("yyyy-MM-dd")
    log.info today
    

    对于我来说,插入一个时间戳
    ${=new java.text.simpleDataFormat(“yyyy-MM-dd'HH:MM:ss.sssss-xxx”).format(new-Date())}
    如何在soap字符串中转义
    today = new Date().format("yyyy-MM-dd")
    log.info today