Процессор в JMeter: PreProcessor & Постпроцессор

Содержание:

Anonim

Процессор используется для модификации семплеров в их объеме.

Есть 2 типа процессоров:

  1. Препроцессор
  2. Постпроцессор

Препроцессор:

Перед отправкой запроса сэмплера препроцессор выполняет какое-то действие .

Рассмотрим простой пример: предположим, вы хотите, чтобы JMeter прошел через тестируемый веб-сайт, проанализировал ссылку (проверьте все ссылки на странице) и вернул HTML. Перед созданием HTTP-запроса вы должны добавить к своему контроллеру какое-либо действие, такое как «анализатор ссылок HTML».

Постпроцессор:

Постпроцессор выполняет какое-то действие после запроса сэмплера.

Рассмотрим простой пример: JMeter отправляет HTTP-запрос на тестируемый веб-сервер (например, www.google.com) и получает ответ. Вы хотите, чтобы JMeter остановил проверку, если ответ сервера является ошибкой. Вы можете использовать постпроцессор для выполнения вышеуказанной задачи следующим образом:

Пример постпроцессора

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

  1. JMeter отправляет HTTP-запрос на тестовый веб-сервер www.google.com.
  2. JMeter получает ответ от сервера Google.
  3. Если ответ сервера является ошибкой , JMeter остановит тест.
  4. Если сервер отвечает ОК (без ошибок), JMeter продолжит тест.

Вот дорожная карта этого примера:

Предварительное условие:

Мы повторно используем Шаг 1 и Шаг 2 в статье Тестирование производительности JMeter.

Шаг 1) Добавьте группу тем

Щелкните правой кнопкой мыши план тестирования и добавьте новую группу потоков: Добавить -> Потоки (пользователи) -> Группа потоков.

Но в панели управления группой потоков введите Свойства потока следующим образом:

Этот параметр позволяет JMeter создавать 10 пользовательских запросов к http://www.google.com 10 раз.

Шаг 2) Добавьте элементы JMeter

  • Добавить HTTP-запрос по умолчанию
  • Добавить HTTP-запрос

Мы по-прежнему заставляем JMeter отправлять запрос http://www.google.com на сервер Google.

Шаг 3) Добавьте элемент постпроцессора

Щелкните правой кнопкой мыши группу потоков -> Добавить -> Постпроцессор -> Обработчик действий состояния результата

Обработчик действия статуса результата позволяет пользователю остановить поток или весь тест, если запрос пользователя не удался.

На панели «Обработка действия состояния результата» выберите « Остановить тест сейчас» . Этот выбор остановит тест, если JMeter получит ошибку из ответа сервера.

Шаг 4) Настройте HTTP-запрос

Откройте панель HTTP-запросов. Введите «abc» в поле «Путь».

Когда вы вводите «abc» в путь, JMeter создаст URL-запрос к серверу Google: http://www.google.com/abc. Этот URL не существует на сервере Google. Это неправильный запрос URL, поэтому сервер Google вернет ошибку.

Шаг 5) Добавьте дерево результатов просмотра

Щелкните правой кнопкой мыши группу потоков -> Добавить -> Слушатель -> Просмотреть дерево результатов

Шаг 6) Запустите тест

Выберите «Просмотр дерева результатов», нажмите кнопку «Выполнить» в строке меню. Вы увидите ответ с ошибкой от сервера Google, и тест остановится, не завершив 100 потоков.

Теперь вернитесь к шагу 4, откройте панель HTTP-запроса и введите в нее « календарь ». Он заставляет JMeter создавать URL-запрос https://calendar.google.com/calendar/u/0/r к серверу Google. Это правильный запрос URL, поэтому сервер Google вернет OK (без ошибок).

Выберите «Просмотр дерева результатов», нажмите кнопку «Выполнить» в строке меню. Вы увидите ответ OK от сервера Google, и тест будет продолжаться, пока не будут завершены все 100 потоков.

Исправление проблем:

Если вы столкнулись с проблемой при выполнении описанного выше сценария… сделайте следующее:

  1. Проверьте, подключаетесь ли вы к Интернету через прокси. Если да, удалите прокси.
  2. Откройте новый экземпляр Jmeter
  3. Откройте ProcessorTestPlan.jmx в Jmeter
  4. Дважды щелкните группу потоков -> Просмотреть дерево результатов
  5. Запустить тест