您好,我正在使用SoapUI测试Web服务。我需要创建一个包含电子邮件地址和密码的客户记录。创建客户记录服务包含电子邮件ID和密码。当我在SoapUI中单击“创建客户记录”的运行(提交请求)按钮时,应该会将电子邮件ID附加到当前创建时间以及任何密码。
如何使用Groovy实现这一点?
使用groovy在soapUI中插入动态dateTime值有两种常见情况:
插入格式化的时间戳值。在这种情况下使用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())}
我认为第一种情况适合您。将代码插入请求中,并根据您的需求调整时间戳格式。顺便说一句,它也适用于模拟服务器的响应。
以下是一种快速解决方案,不需要引入可能会使日期操作变得容易的jar包,例如Apache Commons或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"))
这些注释使用了纯 Groovy
语言编写,而 SoapUI
并没有使用一些常见的语法,如 println
,而是采用了 log.info
。
today = new Date().format("yyyy-MM-dd")
log.info today
${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSXXX").format(new Date())}
。 - Siya Sosibo"
? - inetphantom