Перейти к содержимому

Фотография

Зациклить выполнение HTTP-request


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 seyros

seyros

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Иванов Константин

Отправлено 13 апреля 2011 - 12:44

Исходные данные: пользователь логинится в систему.
Может залогиниться успешно, а может отпасть по тайм-ауту (при нагруженном томкате).

В тесте использую только один HTTP-реквест, его засовываю в контроллер.

Задача - заставить Jmeter при завершении выполнения реквеста по тайм-ауту снова повторять этот реквест до тех пор, пока пользователь не авторизуется успешно.
Я пытался использовать контроллеры "While Controller" и "If Controller", а также "BeanShell Assertion", но не получилось..

Подскажите, как вообще можно решить такую задачу с помощью Jmeter?
  • 0

#2 APC

APC

    Опытный участник

  • Members
  • PipPipPipPip
  • 293 сообщений
  • ФИО:Похилько Андрей Федорович
  • Город:Москва


Отправлено 13 апреля 2011 - 13:26

While Controller тут как раз.
Переменную для условия модифицировать с помощью Post-Processor.
Assertion ни при чем.

Чтобы подсказывать дальше нужно больше деталей - что в тест-плане? Прикрепите его к сообщению на форуме.
  • 0

#3 seyros

seyros

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Иванов Константин

Отправлено 14 апреля 2011 - 11:09

While Controller тут как раз.
Переменную для условия модифицировать с помощью Post-Processor.
Assertion ни при чем.

Чтобы подсказывать дальше нужно больше деталей - что в тест-плане? Прикрепите его к сообщению на форуме.


детали в тест-плане в приложении. Подскажите, плиз, каким пост-процессором и как воспользоваться, чтобы получив ответ с кодом ошибки не равным 200, jmeter снова выполнял тот же реквест, до тех пор, пока реквест не завершится успешно?
И желательно перед повторным выполнением запроса выдерживал определённую паузу.

Прикрепленные файлы

  • Прикрепленный файл  testconnect.zip   2,44К   12 Количество загрузок:

  • 0

#4 OVA

OVA

    Опытный участник

  • Members
  • PipPipPipPip
  • 405 сообщений
  • ФИО:Высоцкий Сергей Павлович
  • Город:Новосибирск

Отправлено 14 апреля 2011 - 16:06

While condition и regex extractor. Я так, на память, т.к. под рукой нет
  • 0

#5 APC

APC

    Опытный участник

  • Members
  • PipPipPipPip
  • 293 сообщений
  • ФИО:Похилько Андрей Федорович
  • Город:Москва


Отправлено 15 апреля 2011 - 07:59

детали в тест-плане в приложении. Подскажите, плиз, каким пост-процессором и как воспользоваться, чтобы получив ответ с кодом ошибки не равным 200, jmeter снова выполнял тот же реквест, до тех пор, пока реквест не завершится успешно?
И желательно перед повторным выполнением запроса выдерживал определённую паузу.


В приложении - примерный ответ.
Логика такая: "пока переменная repeat не равна false, делать попытки"
После каждой попытки Extractor проверяет, равен ли код 200, если равен то устанавливает repeat в false, иначе true
Пауза между попытками обеспечивается таймером.
Debug Sampler покажет когда цикл окончен.
Отлаживать такие тесты лучше на одном треде, а не сразу на 500.

Пробуйте!

Прикрепленные файлы


  • 0

#6 seyros

seyros

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Иванов Константин

Отправлено 15 апреля 2011 - 09:58

В приложении - примерный ответ.
Логика такая: "пока переменная repeat не равна false, делать попытки"
После каждой попытки Extractor проверяет, равен ли код 200, если равен то устанавливает repeat в false, иначе true
Пауза между попытками обеспечивается таймером.
Debug Sampler покажет когда цикл окончен.
Отлаживать такие тесты лучше на одном треде, а не сразу на 500.

Пробуйте!


Огромное спасибо, всё заработало с полпинка!
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных