JMeter & скрипт на groovy

Есть thread. В нем есть Dummy Sampler, JSR223 Sampler. Настройка в Dummy Sampler в поле Response Time (milliseconds) - ${__Random(0,10000)}

В самом Thread Loop - 20 Нужно написать скрипт на groovy, которое будет следить за следующим условием: В thread есть переменная pacing_seconds, со значением 15. Скрипт должен отчитывать 15 секунд, в течение которого должны выполняться два этих sampler'a, если время выполнение этих двоих меньше 15 секунд, нужно усыпить процесс до 15 секунд, если отстает, то нужно переключиться на следующий поток.

Помогите пожалуйста, идей вообще нет, так как не очень понимаю принцип работы JMeter.


Ответы (1 шт):

Автор решения: Dmitri T
def pacing = ((vars.get('pacing_seconds') as int) * 1000) - prev.getTime() 
if (pacing > 0) {
    Thread.sleep(pacing)
}
  • vars.get('pacing_seconds') - получаем значение переменной ${pacing_seconds}
  • prev.getTime() - получаем время выполнения Dummy Sampler
  • если разница между ${pacing_seconds} и временем выполнения Dummy Sampler больше нуля - "спим" заданное количество миллисекунд

Если нужно более детальное объяснение: How to Easily Implement Pacing in JMeter

→ Ссылка