2017-04-16 81 views
1

我試圖將soapui屬性值(例如:2017/04/17 02:00:00)轉換爲毫秒。我必須將明天自定義的日期時間以毫秒的格式存儲到soapui屬性中。截至目前,我能夠將自定義時間的日期存儲到屬性中。現在需要將其轉換爲毫秒。使用groovy將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()

+1

的【什麼是一個NullPointerException,如何解決呢?(可能的複製http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do- i-fix-it) –

回答

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的評論,下面更新腳本 -

//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的評論說,不正確毫秒哪個是假的,從下面的代碼 - try語句context...後加入以下兩看。

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

'def DateMilli = Date.parse(明天+'02:00:00') def setTomorrow = testCase.testSuite.project.setPropertyValue(「Date」,DateMilli); **錯誤:No方法的簽名:com.eviware.soapui.impl.wsdl.WsdlProject.setPropertyValue()適用於參數類型:(java.lang.String,java.lang.Long)values:[Date,1492461000000]可能的解決方案:setPropertyValue java.lang.String,java.lang.String),getPropertyValue(java.lang.String)** – rAJ

+0

爲什麼不嘗試提供的解決方案,因爲它是在修改之前 – Rao

+0

請在下面滿足我的要求。我希望時間應該是硬代碼,日期應該是明天。在第一種方法中沒有自定義時間,在第二種方法中有硬性代碼日期。 – rAJ