В моем файле jmx много HTTP-запросов, я хочу выполнить один HTTP-запрос только один раз, независимо от отсутствия потоков, установленных для всех

#jmeter

#jmeter

Вопрос:

Мой случай — я должен войти на веб-сайт, а затем должен получить данные. Для этого я создал одну группу потоков и создал два HTTP-запроса, один для входа и один для извлечения данных. Но я хочу, чтобы HTTP-запрос на вход выполнялся один раз, а выборка данных выполнялась для многих виртуальных пользователей. Но есть одна общая группа потоков для обоих. Пожалуйста, помогите, как я могу с этим разобраться?

Ответ №1:

Если вам нужно выполнять все запросы после входа в систему параллельно, вы можете использовать плагин Parallel Controller:

  1. Установить JMeter Plugin Manager : Загрузить plugins-manager.jar и поместите его в lib/ext каталог, затем перезапустите JMeter.
  2. Откройте Параметры меню -> Менеджер плагинов
  3. Установите Parallel Controller amp; Sampler плагин.
  4. Добавьте Parallel Controller в план тестирования: щелкните правой кнопкой мыши на группе потоков -> Добавить -> Логический контроллер -> bzm — Параллельный контроллер
  5. Добавьте свои сэмплеры запросов внутри параллельного контроллера.

Выберите свою группу потоков и задайте количество потоков (пользователей) и количество циклов.

Каждый поток выполнит план тестирования целиком и полностью независимо от других потоков тестирования. Несколько потоков используются для имитации одновременных подключений к вашему серверному приложению.

Итак, если вы хотите запустить login sampler только один раз, установите:

  • Number of Threads (users) до 1
  • Loop Count до 1

Количество потоков (пользователей)

Существуют также различные типы групп потоков. Проверьте официальную документацию для получения дополнительной информации

Ответ №2:

Потоки JMeter (виртуальные пользователи) полностью независимы друг от друга, они используют шаблон Thread Local Storage для хранения информации о сеансе и переменных, поэтому, если вы войдете в систему с одним пользователем — он сможет получить данные, второй пользователь не сможет получить данные, если он не вошел в систему.

Если вы абсолютно уверены, что хотите использовать один и тот же сеанс входа для нескольких виртуальных пользователей и выполнить вход только один раз, рассмотрите следующую тестовую настройку:

  1. Настройте группу потоков с 1 виртуальным пользователем и 1 циклом для выполнения входа в систему
  2. Плагин межпотоковой связи для хранения информации о сеансе (т. Е. файлов cookie) и передачи ее в обычную группу потоков
  3. Обычная группа потоков с таким количеством пользователей, сколько вам нужно, используя данные из группы потоков настройки

Ознакомьтесь с планом тестирования SynchronizationPluginsExample.jmx для эталонной реализации.