Как установить разные временные интервалы для одного запроса https в jmeter - PullRequest
0 голосов
/ 28 мая 2020

У меня есть http-запрос, в котором мне нужно отправить случайные значения времени в заданный период времени

Запрос выглядит так: http://domain/api1?&mt=getEmp&punchTime=1590678744

Я сдвинулся предварительно задано Утро : с 09:00 до 14:00 Вечер : от 1400 до 1900 Ночь : 1900 до 2300 Ожидание: случайное значение времени эпохи между заранее определенным временным интервалом смены должно быть указано как время обработки для каждого запроса.

Я не хочу разделять запрос по разным временным сдвигам .

Может ли кто-нибудь помочь мне добиться этого с помощью JMeter?

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете рассчитать случайную отметку времени в заданном диапазоне, используя подходящий JSR223 Test Element и Groovy language .

Пример кода, который производит случайное время между 9 и 14 часами текущего дня и сохраняет его в randomMorningTime JMeter Variable , будет примерно так:

def calendar = Calendar.getInstance()
def morningStart = new GregorianCalendar(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 9, 00).getTimeInMillis()
def morningEnd = new GregorianCalendar(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 14, 00).getTimeInMillis()


def randomMorningTime = org.apache.commons.lang3.RandomUtils.nextLong(morningStart, morningEnd)
def timestamp = ( randomMorningTime / 1000).round() as String
log.info('Random morning time for current day: ' + new Date(randomMorningTime))
log.info('Associated timestamp: ' + timestamp)
vars.put('randomMorningTime', timestamp)

Демо:

enter image description here

При необходимости вы сможете получить доступ к сгенерированному значению как ${randomMorningTime}.

См. JavaDo c в GregorianCalendar class для получения дополнительной информации

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