Есть ли способ заставить __timeShift выбирать только определенные дни недели? - PullRequest
0 голосов
/ 04 марта 2020

Текущая функция, используемая в сценарии JMeter:

${__timeShift(dd/MM/yyyy,${__time(dd/MM/yyyy)},-P31D,,)} 

для указания даты проверки 31 день go.

Теперь я узнаю, что проекту требуется дата проверки всегда падать в понедельник. Есть ли способ убедиться, что timeShift выбирает только понедельник?

1 Ответ

0 голосов
/ 04 марта 2020

Боюсь, что __ timeShift () функция недостаточно гибкая, вы можете рассмотреть возможность использования вместо нее функции __ groovy () и реализовать следующий алгоритм:

  1. Получить текущую дату
  2. Вычесть 31 день
  3. Если текущий день недели - понедельник - вернуть дату в прошлом
  4. В противном случае добавить 1 день до даты в прошлое становится понедельник

Пример кода функции:

${__groovy(def now = new Date(); def monthAgo = now.minus(31); while (monthAgo[Calendar.DAY_OF_WEEK] != Calendar.MONDAY) { monthAgo = monthAgo.plus(1)}; return monthAgo.format('dd/MM/yyyy'),)}

Демонстрация:

enter image description here

Дополнительная информация: Apache Groovy - Почему и как вы должны его использовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...