#groovy #jmeter
Вопрос:
Я пытаюсь создать случайную дату в течение двух предельных дат с помощью JSR223. И вот мой код:
"import java.text.SimpleDateFormat;
import java.util.Date;
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String formattedDate = df.format(${__RandomDate(,2021-10-20,2021-11-20,,)});
vars.put("myFutureDate",formattedDate);"
Но когда я форматирую дату и помещаю ее в переменную с именем myFutureDate, дата становится 01/01/1970. Не могли бы вы, пожалуйста, помочь мне с этим?
Ответ №1:
Не вставляйте функции или переменные JMeter в скрипты Groovy, потому что:
- Они конфликтуют с заводными струнами
- Они могут привести к чему-то, что вызовет сбой компиляции или неожиданное поведение во время выполнения
- Они компилируются и кэшируются, поэтому будет использоваться только первое вхождение, ваша
${myFutureDate}
переменная будет одинаковой для всех итераций
Так
- Поместите свою функцию __RandomDate() в раздел «Параметры» тестового элемента JSR223
- Используйте следующий код для повторного форматирования случайной даты:
vars.put('myFutureDate', Date.parse('yyyy-mm-dd', Parameters).format('dd/MM/yyyy'))
Дополнительная информация:
Комментарии:
1. Большое спасибо, Дмитрий, ты только что спас меня!