嗨,我使用SoapUI测试Web服务 . 我需要使用电子邮件地址和密码创建客户记录 . 创建客户记录服务包含emailid和密码,当我在SoapUI中创建客户记录时单击运行(提交请求)按钮时,我应该获得附加当前创建时间和任何密码的emailid .
如何用groovy做到这一点?
使用groovy在soapUI中插入动态dateTime值有两种常见情况:
${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date())}
${=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"))
如果你做任何沉重的约会操作,我会使用上面的一些API . 我不认为开箱即用Groovy已经进行了高级日期比较 .
评论使用纯 Groovy , SoapUI 不使用某些常见语法,如 println - 而是需要 log.info .
Groovy
SoapUI
println
log.info
today = new Date().format("yyyy-MM-dd") log.info today
3 回答
使用groovy在soapUI中插入动态dateTime值有两种常见情况:
${=new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(new Date())}
${=javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.getInstance())}
我认为第一种情况适合你 . 在您的请求中插入代码并根据您的需要调整时间戳格式 . 顺便说一句,它也适用于模拟服务器的响应 .
这是一个快速的解决方案,没有拉入 jar ,可以减轻日期操作的痛苦,如Apache Commons,或joda-time
双线模式比较日期(例如:之前/之后):
或者一种班轮模式:
如果你做任何沉重的约会操作,我会使用上面的一些API . 我不认为开箱即用Groovy已经进行了高级日期比较 .
评论使用纯
Groovy
,SoapUI
不使用某些常见语法,如println
- 而是需要log.info
.