План испытаний JMeter состоит из элементов испытаний, которые обсуждаются ниже. План тестирования включает в себя как минимум одну группу нитей. В каждой группе потоков мы можем разместить комбинацию одного или нескольких других элементов — сэмплера, логического контроллера, элемента конфигурации, прослушивателя и таймера. Каждому сэмплеру может предшествовать один или несколько элементов препроцессора, за которыми следует элемент постпроцессора и / или элемент подтверждения. Давайте рассмотрим каждый из этих элементов подробно —
Группа потоков
Элементы группы потоков являются начальными точками вашего плана тестирования. Как следует из названия, элементы группы потоков управляют количеством потоков, которые JMeter будет использовать во время теста. Мы также можем контролировать следующее через группу потоков —
-
Установка количества потоков
-
Установка времени разгона
-
Установка количества тестовых итераций
Установка количества потоков
Установка времени разгона
Установка количества тестовых итераций
Панель управления группой потоков выглядит следующим образом —
Панель группы потоков содержит следующие компоненты:
-
Действие, которое необходимо предпринять после ошибки Sampler. Если во время выполнения теста возникает какая-либо ошибка, вы можете разрешить проведение теста либо:
-
Перейти к следующему элементу в тесте
-
Остановить поток, чтобы остановить текущий поток.
-
Полностью остановите тест , если вы хотите проверить ошибку до ее продолжения.
-
-
Количество потоков — имитирует количество пользователей или подключений к вашему серверному приложению.
-
Ramp-Up Period Определяет, сколько времени потребуется JMeter для запуска всех потоков.
-
Loop Count — определяет количество раз, которое нужно выполнить тест.
-
Флажок планировщика — После выбора раздел «Конфигурация планировщика» отображается в нижней части панели управления.
-
Конфигурация планировщика — вы можете настроить время начала и окончания выполнения теста.
Действие, которое необходимо предпринять после ошибки Sampler. Если во время выполнения теста возникает какая-либо ошибка, вы можете разрешить проведение теста либо:
Перейти к следующему элементу в тесте
Остановить поток, чтобы остановить текущий поток.
Полностью остановите тест , если вы хотите проверить ошибку до ее продолжения.
Количество потоков — имитирует количество пользователей или подключений к вашему серверному приложению.
Ramp-Up Period Определяет, сколько времени потребуется JMeter для запуска всех потоков.
Loop Count — определяет количество раз, которое нужно выполнить тест.
Флажок планировщика — После выбора раздел «Конфигурация планировщика» отображается в нижней части панели управления.
Конфигурация планировщика — вы можете настроить время начала и окончания выполнения теста.
Контроллеры
JMeter имеет два типа контроллеров — сэмплеры и логические контроллеры .
Пробоотборники
Сэмплеры позволяют JMeter отправлять определенные типы запросов на сервер. Они имитируют запрос пользователя на страницу с целевого сервера. Например, вы можете добавить сэмплер HTTP-запроса, если вам нужно выполнить POST, GET или DELETE для службы HTTP.
Некоторые полезные сэмплеры —
- HTTP-запрос
- FTP-запрос
- Запрос JDBC
- Java-запрос
- Запрос SOAP / XML
- RPC-запросы
На следующем снимке экрана показана панель управления сэмплером HTTP-запросов.
Логические контроллеры
Логические контроллеры позволяют контролировать порядок обработки сэмплеров в потоке. Логические контроллеры могут изменять порядок запроса, поступающего от любого из их дочерних элементов. Вот некоторые примеры: контроллер ForEach, контроллер while, контроллер цикла, контроллер IF, контроллер времени выполнения, контроллер чередования, контроллер пропускной способности и контроллер однократного запуска.
На следующем снимке экрана показана панель управления Loop Controller —
Следующий список содержит все логические контроллеры, которые предоставляет JMeter:
- Простой контроллер
- Контроллер петли
- Единственный Контроллер
- Контроллер чередования
- Случайный Контроллер
- Контроллер случайного порядка
- Контроллер пропускной способности
- Контроллер времени выполнения
- Если контроллер
- Пока контроллер
- Переключатель контроллера
- Контроллер ForEach
- Контроллер модуля
- Включить контроллер
- Контроллер транзакций
- Контроллер записи
Тестовые фрагменты
Тестовый фрагмент — это особый тип элемента, размещенный на том же уровне, что и элемент группы потоков. Он отличается от группы потоков тем, что он не выполняется, если на него не ссылается ни контроллер модуля, ни контроллер Include_Controller. Этот элемент предназначен исключительно для повторного использования кода в планах тестирования.
Слушатели
Слушатели позволяют просматривать результаты сэмплеров в виде таблиц, графиков, деревьев или простого текста в некоторых файлах журналов. Они обеспечивают визуальный доступ к данным, собранным JMeter о тестовых примерах, когда выполняется компонент Sampler в JMeter.
Слушатели могут быть добавлены в любом месте теста, в том числе непосредственно под планом тестирования. Они будут собирать данные только от элементов на их уровне или ниже. Следующий список состоит из всех слушателей, которые предоставляет JMeter:
- Пример результата Сохранить конфигурацию
- График Полные результаты
- График Результаты
- Сплайн визуализатор
- Результаты утверждения
- Просмотр дерева результатов
- Сводный отчет
- Посмотреть результаты в таблице
- Простой Data Writer
- Мониторинг результатов
- График распределения (альфа)
- Совокупный график
- Mailer Visualizer
- BeanShell Listener
- Сводный отчет
Таймеры
По умолчанию поток JMeter отправляет запросы без остановки между каждым сэмплером. Это может быть не то, что вы хотите. Вы можете добавить элемент таймера, который позволяет вам определять период ожидания между каждым запросом.
В следующем списке показаны все таймеры, которые предоставляет JMeter:
- Постоянный таймер
- Гауссовский случайный таймер
- Единый случайный таймер
- Таймер постоянной пропускной способности
- Синхронизирующий таймер
- Время JSR223
- Время BeanShell
- BSF Time
- Пуассоновское случайное время
На следующем снимке экрана показана панель управления постоянным таймером.
Утверждения
Утверждения позволяют вам включить некоторые проверочные тесты в ответ на ваш запрос, сделанный с помощью пробоотборника. Используя утверждения, вы можете доказать, что ваше приложение возвращает правильные данные. JMeter выделяет, когда утверждение не выполняется.
Следующий список состоит из всех утверждений, которые предоставляет JMeter:
- Beanshell Утверждение
- Утверждение BSF
- Сравнить утверждение
- Утверждение JSR223
- Подтверждение ответа
- Подтверждение продолжительности
- Утверждение размера
- Утверждение XML
- BeanShell Assertion
- MD5Hex Утверждение
- Утверждение HTML
- Утверждение XPath
- Утверждение схемы XML
На следующем снимке экрана показана панель управления подтверждением ответа —
Элементы конфигурации
Элементы конфигурации позволяют создавать значения по умолчанию и переменные, которые будут использоваться сэмплерами. Они используются для добавления или изменения запросов, сделанных Samplers.
Они выполняются в начале области, частью которой они являются, перед любыми сэмплерами, расположенными в той же области. Следовательно, элемент конфигурации доступен только изнутри ветви, в которой он находится.
Следующий список состоит из всех элементов конфигурации, которые предоставляет JMeter:
- счетчик
- Конфигурация набора данных CSV
- FTP-запрос по умолчанию
- Диспетчер авторизации HTTP
- HTTP Cache Manager
- HTTP Cookie Manager
- HTTP прокси-сервер
- HTTP-запрос по умолчанию
- Диспетчер заголовков HTTP
- Java-запрос по умолчанию
- Конфигурация хранилища ключей
- Конфигурация соединения JDBC
- Элемент конфигурации входа
- LDAP-запрос по умолчанию
- Значения по умолчанию для расширенного запроса LDAP
- Конфигурация сэмплера TCP
- Пользовательские переменные
- Простой элемент конфигурации
- Случайная переменная
Элементы препроцессора
Элемент препроцессора — это то, что выполняется непосредственно перед выполнением сэмплера. Они часто используются для изменения настроек образца запроса непосредственно перед его выполнением или для обновления переменных, которые не извлекаются из текста ответа.
Следующий список состоит из всех элементов препроцессора, которые предоставляет JMeter:
- HTML Link Parser
- Модификатор перезаписи HTTP URL
- Модификатор параметров пользователя HTTP
- Пользовательские параметры
- Препроцессор JDBC
- Препроцессор JSR223
- Пользовательские параметры RegEx
- BeanShell PreProcessor
- BSF PreProcessor
Элементы постпроцессора
Постпроцессор выполняется после того, как сэмплер завершает свое выполнение. Этот элемент чаще всего используется для обработки данных ответа, например, для извлечения определенного значения для последующего использования.
Следующий список содержит все элементы постпроцессора, которые предоставляет JMeter:
- Экстрактор регулярных выражений
- XPath Extractor
- Результат Статус Обработчик действий
- Постпроцессор JSR223
- JDBC PostProcessor
- BSF PostProcessor
- CSS / JQuery Extractor
- BeanShell PostProcessor
- Отладка PostProcessor
Порядок выполнения тестовых элементов
Ниже приведен порядок выполнения элементов плана тестирования.