2010-04-16 45 views
14

您好我正在使用SoapUI测试Web服务。我需要创建一个包含电子邮件地址和密码的客户记录。创建客户记录服务包含emailid和密码,当我在SoapUI中创建客户记录时单击运行(提交请求)按钮时,我应该获取添加当前创建时间和任何密码的emailid。如何使用groovy在soapui中创建日期时间字符串

如何用groovy做到这一点?

回答

38

有使用中的soapUI插入动态日期时间值的两种情况为例:

  1. 插入格式化时间戳值。在这种情况下使用的SimpleDateFormat:

    ${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date())}

  2. 格式时间戳的xsd:datetime值。使用的DatatypeFactory newXMLGregorianCalendar的创建实例:

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

我认为第一种情况为你工作。在请求中插入代码并根据需要调整时间戳格式。顺便说一句,它也适用于模拟服务器的响应。

+1

这个工作对我来说,插入一个时间戳'$ {=新java.text.SimpleDateFormat中( “YYYY-MM-dd'T'HH:MM:ss.SSSSSSSXXX”)。格式(新的Date() )}' – 2016-06-27 08:01:13

7

这里有一个快速的解决方案,而在可能缓解日期操作,如Apache下议院的痛苦罐子拉,或 joda-time

两行模式比较日期(例如:次前/后):

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

或者一个线性模式:

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

如果你从事繁重的任何重的日期操作我会与上述一些API的去的。我不认为开箱即用Groovy还有先进的日期比较。

2

评论使用纯Groovy其中SoapUI不使用一些常用语法,如println - 而是它需要log.info

today = new Date().format("yyyy-MM-dd") 
log.info today 
相关问题