Использование эмулятора в тесте
Эмулятор не выбирается в настройках сценария и не занимает генератор нагрузки. Он используется тем, что скрипт обращается по адресу эмулятора вместо адреса тестируемой системы.
Порядок работы
-
Добавить эмулятор и убедиться, что он в статусе «Доступен».
-
Создать на нём адреса, которые вызывает скрипт: путь и HTTP-метод должны совпадать с тем, что отправляет скрипт.
-
Настроить для каждого адреса шаблон ответа, время ответа и процент ошибочных ответов.
-
Перевести нужные адреса в статус «Активен».
-
В сценарии указать хост и порт эмулятора там, где скрипт обращается к тестируемой системе.
Удобно вынести адрес системы в переменные сценария: тогда переключение между реальной системой и эмулятором сводится к правке значения переменной, а скрипты остаются без изменений.
Применение изменений
Эмулятор периодически обращается к Диспетчеру, подтверждает доступность и забирает актуальный набор адресов. Поэтому изменения настроек применяются не мгновенно: между сохранением настроек и их применением на эмуляторе проходит несколько секунд.
Диспетчер передаёт эмулятору только адреса в статусе «Активен». При этом эмулятор дополняет уже полученный набор адресов, не очищая его: адрес, который выключили или удалили, продолжает отвечать до перезапуска сервиса эмулятора. Чтобы гарантированно снять адрес с обслуживания, сервис эмулятора нужно перезапустить.
Что возвращает эмулятор
| Ситуация | Ответ |
|---|---|
| Запрос совпал с активным адресом | 200 OK и шаблон ответа с подставленными динамическими полями |
| Запрос попал в долю ошибочных ответов | 500 Internal Server Error |
| Путь или метод не совпали ни с одним активным адресом | 404 Not Found |
Ответ отдаётся с задержкой, заданной в настройках времени ответа.
Ограничения
- Эмулятор не исполняет скрипты и не создаёт нагрузку — для подачи нагрузки нужны генераторы нагрузки.
- Эмулятор обслуживает запросы методами
GETиPOST. - Эмуляторы видны только в том проекте, в котором созданы.
- Сопоставление пути точное: адрес
/cardsне обслуживает запрос/cards/123.