您好我正在使用SoapUI测试Web服务。我需要创建一个包含电子邮件地址和密码的客户记录。创建客户记录服务包含emailid和密码,当我在SoapUI中创建客户记录时单击运行(提交请求)按钮时,我应该获取添加当前创建时间和任何密码的emailid。如何使用groovy在soapui中创建日期时间字符串
如何用groovy做到这一点?
您好我正在使用SoapUI测试Web服务。我需要创建一个包含电子邮件地址和密码的客户记录。创建客户记录服务包含emailid和密码,当我在SoapUI中创建客户记录时单击运行(提交请求)按钮时,我应该获取添加当前创建时间和任何密码的emailid。如何使用groovy在soapui中创建日期时间字符串
如何用groovy做到这一点?
有使用groovy中的soapUI插入动态日期时间值的两种情况为例:
插入格式化时间戳值。在这种情况下使用的SimpleDateFormat:
${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date())}
格式时间戳的xsd:datetime值。使用的DatatypeFactory newXMLGregorianCalendar的创建实例:
${=javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.getInstance())}
我认为第一种情况为你工作。在请求中插入代码并根据需要调整时间戳格式。顺便说一句,它也适用于模拟服务器的响应。
这里有一个快速的解决方案,而在可能缓解日期操作,如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还有先进的日期比较。
评论使用纯Groovy
其中SoapUI
不使用一些常用语法,如println
- 而是它需要log.info
。
today = new Date().format("yyyy-MM-dd")
log.info today
这个工作对我来说,插入一个时间戳'$ {=新java.text.SimpleDateFormat中( “YYYY-MM-dd'T'HH:MM:ss.SSSSSSSXXX”)。格式(新的Date() )}' – 2016-06-27 08:01:13