Эмуляторы
Эмулятор — программная заглушка, имитирующая HTTP-эндпоинты тестируемой системы. Эмулятор отдаёт на запросы заранее настроенные ответы: тело ответа, время ответа и долю ошибочных ответов. Сам скрипт эмулятор не исполняет и нагрузку не создаёт — этим занимаются генераторы нагрузки.
Эмуляторы применяются, когда:
- тестируемая система или её смежный сервис недоступны, а нагрузку подавать нужно уже сейчас;
- требуется зафиксировать поведение внешнего сервиса (время ответа, доля ошибок), чтобы результаты тестов были сопоставимы;
- нужно проверить работу скриптов и сценария без обращения к реальной системе.
Где находится
Эмуляторы расположены на странице «Генераторы», вкладка «Эмуляторы».
Просмотр списка доступен по праву generator.read, добавление, изменение и удаление — по праву generator.manage.
В отличие от генераторов нагрузки, эмуляторы ограничены проектом: в списке отображаются только эмуляторы текущего проекта.
Список эмуляторов выводится таблицей со следующими колонками:
| Колонка | Содержание |
|---|---|
| «Название» | Имя эмулятора, ссылка на список его адресов |
| «Описание» | Произвольный текст, редактируется прямо в таблице |
| «Хост» | Адрес машины, на которой работает эмулятор |
| «Порт» | Порт эмулятора |
| «Дата создания» | Дата и время добавления эмулятора |
| «Дата обновления» | Дата и время последнего изменения эмулятора или его адресов |
| «Статус» | «Доступен» или «Недоступен» |
| «Действия» | «Открыть», «Изменить», «Удалить» |
Список фильтруется поиском по названию и по хосту и сортируется по названию, хосту, порту и датам.
Статус «Недоступен» выставляется, если эмулятор перестал выходить на связь с Диспетчером. Эмулятор подтверждает доступность периодически, поэтому статус обновляется с задержкой в несколько секунд. Эмулятор, который ещё ни разу не обращался к Диспетчеру, отображается со статусом «Доступен».
Добавление эмулятора
-
Запустить сервис эмулятора на машине, которая будет отдавать ответы.
-
Нажать кнопку «Добавить».
-
Заполнить поля «Название», «Хост» и «Порт» реквизитами эмулятора.
-
Нажать кнопку «Добавить».

При добавлении Диспетчер передаёт эмулятору его идентификатор. Если эмулятор по указанным хосту и порту недоступен, выводится ошибка и эмулятор не добавляется.
Ограничения на реквизиты:
- название эмулятора уникально в пределах проекта;
- пара «хост» и «порт» уникальна — один и тот же адрес нельзя занять двумя эмуляторами;
- порт задаётся числом от 1 до 65535.
Добавление эмуляторов из файла
Несколько эмуляторов добавляются одним файлом.
Для этого нужно подготовить файл в формате csv или txt, где каждая строка описывает один эмулятор:
Название эмулятора;хост или IP-адрес эмулятора;порт эмулятораПример содержимого файла:
Эмулятор1;10.0.0.1;8102
Эмулятор2;10.0.0.2;8100Порядок действий:
-
Нажать кнопку «Добавить из файла».
-
Выбрать подготовленный файл.
Из файла обрабатываются первые 10 строк — остальные строки не добавляются. Каждая строка обрабатывается независимо от остальных: недоступные эмуляторы и строки с конфликтом по названию или адресу пропускаются. После загрузки выводится уведомление вида «Добавлено N/M эмуляторов».
Файл-образец «Пример для импорта эмуляторов.csv» скачивается из подсказки кнопки «Добавить из файла».
Изменение эмулятора
Реквизиты эмулятора изменяются через действие «Изменить» напротив нужной строки: доступны поля «Название», «Хост» и «Порт», изменения применяются кнопкой «Сохранить». При смене хоста или порта Диспетчер повторно передаёт эмулятору его идентификатор.
Описание изменяется прямо в таблице — по клику на значение в колонке «Описание».
Удаление эмулятора
Эмулятор удаляется действием «Удалить» напротив строки с подтверждением. Несколько эмуляторов удаляются сразу: отметить их чекбоксами и нажать кнопку «Удалить» над списком.
Вместе с эмулятором перестают обслуживаться его адреса. Скрипты, которые обращались к этому эмулятору, после удаления будут получать ошибки соединения.
Что дальше
- Адреса эмулятора — какие пути и методы обслуживает эмулятор.
- Шаблон ответа — что эмулятор возвращает в теле ответа.
- Использование в тесте — как направить скрипт на эмулятор.