【问题标题】:Convert soapui property value into miliseconds using groovy使用groovy将soapui属性值转换为毫秒
【发布时间】:2017-04-18 03:16:01
【问题描述】:

我正在尝试将 soapui 属性值(例如:2017/04/17 02:00:00)转换为毫秒。我必须以毫秒格式将明天的自定义日期时间存储到soapui属性中。到目前为止,我可以将带有自定义时间的日期存储到属性中。现在需要将其转换为毫秒。

def date = new Date(); 
def nextDate = date + 1
tomorrow = nextDate.format("yyyy/MM/dd");
log.info tomorrow
def setTomorrow = testCase.testSuite.project.setPropertyValue("Date", tomorrow + ' 02:00:00' );

long millisecond = setTomorrow.getTime();
log.info millisecond

错误:

无法在空对象上调用方法getTime()

请帮忙。

【问题讨论】:

标签: datetime groovy soapui


【解决方案1】:

如果你想要明天的毫秒时间:

def date = new Date() + 1
log.info "Tomorrow's time in millis : ${date.time}"
//Set it into project property
context.testCase.testSuite.project.setPropertyValue('DATE_TIME', date.time.toString())

希望您知道如何使用属性扩展来访问上述DATE_TIME 项目属性,即${#Project#DATE_TIME}

如果你想要特定的日期字符串到毫秒,那么使用下面:

def date2 = Date.parse('2017/04/17 02:00:00')
log.info date2

编辑:基于 OP 的 cmets,更新脚本如下 -

//Tomorrow date
def d = (new Date() +1).format('yyyy/MM/dd')
use(groovy.time.TimeCategory) {
    //Add fixed hours i.e., 2
    def tomorrow2hours = new Date(d) + 2.hours
    log.info "Tomorrow @ 2 hrs : ${tomorrow2hours}"
    log.info "In millis : ${tomorrow2hours.time}"
    context.testCase.testSuite.project.setPropertyValue('DATE_TIME', tomorrow2hours.time.toString())
}

EDIT2:根据 OP 的评论,错误的毫秒数在下面的代码中是错误的 - 尝试在语句 context... 之后添加下面两个并查看。

def dd = new Date(tomorrow2hours.time)
log.info dd.format('yyyy-MM-dd HH:mm:ss')

【讨论】:

  • def DateMilli = Date.parse(tomorrow + ' 02:00:00') def setTomorrow = testCase.testSuite.project.setPropertyValue("Date", DateMilli ); 错误:没有方法签名:com.eviware.soapui.impl.wsdl.WsdlProject.setPropertyValue() 适用于参数类型:(java.lang.String, java .lang.Long) 值:[Date, 1492461000000] 可能的解决方案:setPropertyValue(java.lang.String, java.lang.String), getPropertyValue(java.lang.String)
  • 为什么不在修改前尝试提供的解决方案
  • 请理解我的要求。我希望时间应该是硬编码,日期应该是明天。第一种方法没有自定义时间,第二种方法有硬编码日期。
  • @rAJ,那应该是你问题的一部分。任何方式,请检查更新的答案(编辑部分)。
  • 是的,我的错。现在明天时间正确计算Tomorrow @ 2 hrs : Tue Apr 18 02:00:00 IST 2017,但毫秒仍然不正确In millis : 1492461000000...计算为Mon Apr 17 2017 20:30:00
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
相关资源
最近更新 更多