# Тестирование сценария в конструкторе

Source: https://docs.botman.pro/a/246-testirovanie-stsenariya-v-konstruktore

Эта функция помогает «примерить на себя» роль пользователя: пройти шаги, увидеть сообщения, убедиться, что переходы и условия выполняются так, как вы задумали.

Обычно тестирование запускают:

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

Для этого в конструкторе есть специальная кнопка «Тестировать», которая запускает сценарий в режиме имитации диалога.

![](https://storage.yandexcloud.net/botman-knowledge-prod/kb/6aec5304d3ac9dc31d82ccf6/5dabc90320304f3cf1a97a7e8730b7e2e12a7b03b5836782cebe9ea2da43beec.png)

---

## Режимы тестирования

Функция тестирования поддерживает два режима запуска. Они отличаются скоростью прохождения сценария и позволяют решать разные задачи:

- в одном случае вы проверяете опыт пользователя «как есть»,
- в другом — быстро оцениваете логику и структуру без ожиданий.

**Тестировать (с задержками)**

Сценарий запускается в полном объёме — со всеми задержками, паузами и функциями, которые вы настроили в конструкторе.\
Этот режим позволяет увидеть бота «вживую», так же, как его будет воспринимать пользователь:

- сообщения приходят с заданными интервалами,
- срабатывают все условия и тайминги,
- можно проверить комфортность диалога и правильность ритма общения.

**Тестировать без задержек**

Сценарий выполняется в ускоренном виде — все паузы и задержки отключены, шаги проходят один за другим.\
Этот режим нужен для быстрой проверки логики:

- сразу видно, правильно ли выстроены переходы,
- можно проверить условия и переменные,
- экономит время, если вы вносите частые изменения и хотите быстро перепроверить структуру.

---

## **Особенности работы сценария при тестировании**

Тест запускается прямо из конструктора от вашего лица. Это не «реальный» вход пользователя из Телеграма, а внутренний старт цепочки шагов. Поэтому большинство блоков ведут себя как обычно, но есть важные исключения — они сделаны специально, чтобы ускорить проверку и не требовать внешних событий.

## **Начальный шаг и триггеры**

Общий принцип

- При нажатии «Тестировать» бот запускается напрямую из конструктора от вашего лица.
- В этот момент система ведёт себя как будто новый пользователь только что нажал кнопку Start.
- Поэтому срабатывает общий выход начального шага (он же «Старт»).
- Все остальные триггеры (Ref URL, метки, заявка на вступление) не активируются, потому что их реальные события в тесте не происходят.
- Чекбокс «Запуск по кнопке Старт» в тесте игнорируется — сценарий всё равно стартанёт

Триггер «Запуск по кнопке Старт»

- В реальности: работает, когда пользователь жмёт кнопку Start или вводит команду /start.
- В тесте: срабатывает всегда автоматически, даже если чекбокс выключен.
- Вывод: отдельно проверять этот триггер не нужно — тестирование уже показывает, как работает запуск через Start.

Остальные триггеры

- Ref URL — в реальности запускается при переходе по уникальной ссылке. В тесте не срабатывает (нет перехода).
- Метка применена — запускается при присвоении метки. В тесте не срабатывает (метка не меняется).
- Метка снята — запускается при снятии метки. В тесте не срабатывает (метка не убирается).
- Подача заявки на вступление — запускается в Telegram при подаче заявки в группу/канал. В тесте не срабатывает (заявка не подаётся).

Итого:

- В тесте всегда работает только «Старт» (общий выход начального шага).
- Все остальные триггеры проверяются только «вживую», потому что завязаны на реальные действия пользователя.

![](https://storage.yandexcloud.net/botman-knowledge-prod/kb/6aec5304d3ac9dc31d82ccf6/f4fe9d27f8c89fc928fedfc8ec804a16afaba6af35432d33553a05e879a4606c.png)

---

## Как проверить цепочки сценариев от триггеров

Поскольку в тестировании реально срабатывает только Старт, а остальные триггеры не активируются, у вас есть два способа проверить их цепочки:

**✅ Вариант 1.** «Боевой» запуск (надёжный)

- Опубликуйте сценарий.
- Вызовите каждый триггер «по-настоящему»:\
  \- Перейдите по Ref URL.\
  \- Присвойте или снимите метку у подписчика.\
  \- Подайте заявку на вступление в группу/канал.
- Убедитесь, что запускается нужная ветка сценария.

Это даёт точную проверку — именно так бот будет вести себя с пользователями.

**⚡ Вариант 2.** «Читерский» (быстрая проверка логики)

- В редакторе временно перенесите связь от нужного триггера на общий выход начального шага.
- Запустите тест — сценарий пойдёт по этой цепочке как будто сработал триггер.
- Проверьте, что вся логика внутри цепочки отрабатывает правильно.
- ❗ Обязательно верните связь обратно, иначе в бою цепочка перестанет запускаться от своего триггера.

Этот вариант экономит время, если вам нужно проверить именно саму логику шагов, а не событие-триггер.

---

## Задержки и тайминги

В тестировании поведение задержек зависит от выбранного режима. Сами механики простые: в обычном тесте всё ждёт, в «без задержек» — всё идёт сразу. Ниже — что именно «ждёт», а что «пропускается», с примерами.

Что считается «задержкой»

- Шаг «Умная задержка» - условия вроде «через N минут/часов/дней», «в HH:MM», «завтра в HH:MM», «в указанную дату/дату и время».
- Блок «Задержка» в шаге «Сообщение» - пауза перед отправкой следующего сообщения/переходом.

![](https://storage.yandexcloud.net/botman-knowledge-prod/kb/6aec5304d3ac9dc31d82ccf6/547ab54f64cabb2f3c6613d344694edfcd5b2200ca44b2b3d1a05b37d24770e4.png)

![](https://storage.yandexcloud.net/botman-knowledge-prod/kb/6aec5304d3ac9dc31d82ccf6/4c859fbb8de93e06e5d520d51b6f318539c6ccfb8963984ee78f71d3b1d2d67e.png)

## Режим «Тестировать» (с задержками)

- «Умная задержка» выполняет ожидание ровно по вашим настройкам.
- «Задержка» в шаге «Сообщение» — тоже ждёт столько, сколько указано.
- Для проверок UX и ритма диалога это ключевой режим: увидите реальную длительность пауз и почувствуете «темп» сценария.

**Пример:** Если настроено «завтра в 10:00» — в этом режиме последующий шаг действительно будет ожидать наступления времени

## Режим «Тестировать без задержек»

- «Умная задержка» пропускается полностью: сценарий сразу идёт на следующий шаг.
- «Задержка» в «Сообщении» не срабатывает: шаги выполняются подряд без пауз.
- Нужен для быстрой отладки логики: пройти длинные цепочки и ветвления мгновенно.

**Пример:** Если после сообщения стоит «Задержка 10 секунд», а затем проверка переменной — в этом режиме бот не ждёт 10 секунд, а сразу выполняет проверку.

🤔 Почему так сделано

- В «без задержек» вы экономите время на отладке длинных флоу и не зависите от календаря/часов.
- В «с задержками» получаете максимально приближённый к реальному опыт пользователя: удобный финальный прогон перед публикацией.

Что с надписью «печатает…»

В мессенджерах (Telegram, VK) надпись «бот печатает…» появляется только тогда, когда в шаге «Сообщение» стоит блок «Задержка».

- В режиме «Тестировать» (с задержками): бот реально ждёт указанное время, и пользователь видит статус «печатает…».
- В режиме «Тестировать без задержек»: блок «Задержка» пропускается, и надпись «печатает…» не отображается.

📌 Это нормальное поведение: ускоренный тест нужен, чтобы быстро пройти сценарий, а не имитировать опыт пользователя полностью.\
Если хотите проверить, как выглядит пауза и надпись «печатает…», используйте режим с задержками.

![](https://storage.yandexcloud.net/botman-knowledge-prod/kb/6aec5304d3ac9dc31d82ccf6/d12fbbe44430f3aab4f4f7bb2988f916d0a512499be4e443dfab8b2ad75a381b.png)

