SOAPUI - groovy 脚本无法在其中一台机器上运行
SOAPUI - groovy script not working on ONE of machines
请参阅下面用于日期解析的简单 groovy 脚本:
def setProperty=testRunner.testCase.getTestStepByName("Properties");
Date currentDate = new Date();
String tmpDate = currentDate
//setting current DateTime to corresponding property
def DateTime = new Date().parse("E MMM dd H:m:s z yyyy", tmpDate).format("yyyy-MM-dd'T'hh:mm:ss")
setProperty.setPropertyValue('DateTime', DateTime);
此脚本可在某些安装了 Win 8.1、java 7 或 8 的计算机上正常运行。但是对于其中一台机器 (Win 8.1) 它 returns 一个错误
java.text.ParseException: Unparseable date: "Tue Jan 20 11:59:58 EET 2015"
有什么问题吗?脚本完全一样...
真诚的,
德米特里
你的做法太别扭了!您应该考虑使用 String.format() 直接格式化您的日期:
def propertiesStep = testRunner.testCase.getTestStepByName("Properties")
propertiesStep.setPropertyValue('DateTime',
String.format("%tFT%tT", new Date(), new Date()))
您的代码似乎令人困惑...您正在使用 new Date()
生成 java.util.Date
,然后在执行 String tmpDate=currentDate
时生成 String
,然后您正在尝试获取 Date()
再次解析 tmpDate
字符串,最后您正在解析最后一个日期以获取具有特定格式的字符串日期...
我认为您必须稍微清理一下代码...我认为您正在寻找以下内容:
def setProperty=testRunner.testCase.getTestStepByName("Properties")
def currentDate = new Date()
def dateTime = currentDate.format("yyyy-MM-dd'T'hh:mm:ss")
log.info dateTime
setProperty.setPropertyValue('DateTime', dateTime)
希望这对您有所帮助,
请参阅下面用于日期解析的简单 groovy 脚本:
def setProperty=testRunner.testCase.getTestStepByName("Properties");
Date currentDate = new Date();
String tmpDate = currentDate
//setting current DateTime to corresponding property
def DateTime = new Date().parse("E MMM dd H:m:s z yyyy", tmpDate).format("yyyy-MM-dd'T'hh:mm:ss")
setProperty.setPropertyValue('DateTime', DateTime);
此脚本可在某些安装了 Win 8.1、java 7 或 8 的计算机上正常运行。但是对于其中一台机器 (Win 8.1) 它 returns 一个错误
java.text.ParseException: Unparseable date: "Tue Jan 20 11:59:58 EET 2015"
有什么问题吗?脚本完全一样...
真诚的, 德米特里
你的做法太别扭了!您应该考虑使用 String.format() 直接格式化您的日期:
def propertiesStep = testRunner.testCase.getTestStepByName("Properties")
propertiesStep.setPropertyValue('DateTime',
String.format("%tFT%tT", new Date(), new Date()))
您的代码似乎令人困惑...您正在使用 new Date()
生成 java.util.Date
,然后在执行 String tmpDate=currentDate
时生成 String
,然后您正在尝试获取 Date()
再次解析 tmpDate
字符串,最后您正在解析最后一个日期以获取具有特定格式的字符串日期...
我认为您必须稍微清理一下代码...我认为您正在寻找以下内容:
def setProperty=testRunner.testCase.getTestStepByName("Properties")
def currentDate = new Date()
def dateTime = currentDate.format("yyyy-MM-dd'T'hh:mm:ss")
log.info dateTime
setProperty.setPropertyValue('DateTime', dateTime)
希望这对您有所帮助,