Как сделать вызов API в JMeter по истечении определенного времени - PullRequest
0 голосов
/ 05 сентября 2018

У меня следующая ситуация в скрипте JMeter:

  1. Пользователь получает токен доступа и входит в систему
  2. 50 GET API в системе.
  3. 50 потоков.
  4. Цикл установлен на ВСЕ.
  5. Продолжительность установлена ​​на 10800 секунд (3 часа)
  6. Метод входа в систему, при котором пользователь получает токен, находится внутри Контроллер для однократного доступа , поэтому вход в систему выполняется только один раз для потока.
  7. Время ожидания пользователя составляет 60 минут, и он автоматически выходит из системы.
  8. Существует метод токена Refresh, который получает новый токен ACCESS.

Мне нужно провести стресс-тестирование с использованием JMeter с использованием 50 потоков и запустить его в течение 3 часов. Дело в том, что если запущено 50 потоков, они начнут истекать через 60 минут.

Теперь, если я помещу метод Refresh Token, чтобы получить новый токен ACCESS после 50 вызовов API, есть ли способ, где я вызываю этот метод, когда он близок к 60 минутам выполнения, например: вызывается через каждые 55 минут?

1 Ответ

0 голосов
/ 06 сентября 2018

Я пытался работать по вашему сценарию. Я делюсь - Что я сделал после понимания вашего сценария.

На скриншоте ниже вы видите 2 потока, у которых 1 запрос на аутентификацию запущен через контроллер Only Once. Через некоторое время снова отправляется запрос аутентификации.

enter image description here Подход: -

  1. Установите пользовательскую переменную, как показано ниже: -

enter image description here 2. Затем используйте постпроцессор JSR223 под запросом для выполнения приведенного ниже кода.

def start_Time = vars.get("startTime")
log.info "start_Time>>>>>>>"+start_Time

long currentTime = ${__time(,)}
log.info "currentTime>>>>>>>"+currentTime;

long diff=currentTime.toLong()-start_Time.toLong();
log.info "diff>>>>>>>"+diff

if(diff>=2000){
    start_Time = ${__time(,)};
    vars.put("startTime",start_Time.toString());
}
vars.put("flag",diff.toString());
log.info "FlagValue>>>>>>>"+vars.get("flag")

enter image description here 3. Ниже приведено условие, используемое для запроса аутентификации.

enter image description here

Надеюсь, это поможет.

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