Цель : назначить свойство SoapUI со значением сегодня + 1 год в формате yyyy-MM-dd
(например, сегодня 2018-10-10, поэтому я хотел бы, чтобы свойство имело2019-10-10).
Что я пробовал:
Попытка # 1 (встроенное свойство):
Не работает, потому что JDK 8 не является частью пакета Soap UI по умолчанию:
${=LocalDate.now().plusYears(1).format(DateTimeFormatter.ISO_DATE)}
Попытка № 2 (скрипт groovy):
Возвращает ошибку, поскольку Date.format
не принимает String
и java.util.Date
:
def today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, 0);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
today.set(Calendar.MILLISECOND, 0);
today.add(Calendar.YEAR, 1);
def nextYear = today.getTime();
def nextYear_formatted = Date.format("yyyy-MM-dd", nextYear);
testRunner.testCase.setPropertyValue( "nextYear", nextYear_formatted )
Ошибка:
groovy.lang.MissingMethodException: Нетподпись метода: static java.util.Date.format () применима для типов аргументов: (java.lang.String, java.util.Date) значения: [гггг-мм-дд, чт 10 октября 00:00:00EDT 2019] Возможные решения: формат (java.lang.String, java.util.TimeZone), формат (java.lang.String), ошибка с (java.time.Instant) в строке: 8
Попытка № 3 (Groovy скрипт):
Возвращает ошибкупотому что SimpleDateFormat
не компилируется:
def today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, 0);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
today.set(Calendar.MILLISECOND, 0);
today.add(Calendar.YEAR, 1);
def nextYear = today.getTime();
def nextYear_formatted = new SimpleDateFormat("yyyy-MM-dd").format(nextYear);
testRunner.testCase.setPropertyValue( "nextYear", nextYear_formatted )
org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой запуска: Script20.groovy: 8: невозможно разрешить класс SimpleDateFormat @ строка 8, столбец 27. def nextYear_formatted = new SimpleDateFormat ("гггг-ММ-дд"). формат (следующий год);^ org.codehaus.groovy.syntax.SyntaxException: невозможно разрешить класс SimpleDateFormat @ строка 8, столбец 27. at org.codehaus.groovy.ast.ClassCodeVisitorSupport.addError (ClassCodeVisitorSupport.java:149) в ...
(трассировка стека опущена для краткости)
Как добавить свойство, имеющее значение сегодня + 1 год в SoapUI?
Бонусный вопрос:как добавить JDK 8, чтобы использовать его в скриптах groovy?