Инструменты InterLAB · Playwright · только staging · импорт отчёта

User Flow Tester: сценарные E2E-тесты

Опишите важные пользовательские операции шагами — вход, покупка, поиск — и получите готовые тесты Playwright с защитой от запуска на production. Инструмент проверит сценарии по опубликованным правилам, покажет покрытие маршрутов и разберёт отчёт прогона.

Бесплатно, без регистрации

Правила UFT v1.0 · 13.10.2026

Сценарии

Сценариев пока нет. Добавьте первый или загрузите пример.

Как работает инструмент

  1. Сценарии из шагов

    Сценарий — это название, теги, флаг «критичный», стартовый маршрут, вид устройства и заметка о состоянии входа. Шаги — переходы, действия, ожидания и проверки. Элементы ищутся так, как советует документация Playwright: по роли и имени, подписи поля или test id.

  2. Проверки по правилам

    Каждое замечание — правило с ID, уровнем и доказательством: хрупкий селектор, сценарий без финальной проверки, пароль в открытом виде, пауза по времени. Ошибочные шаги в код не попадают — вместо них комментарий с ID правила.

  3. Код Playwright Test

    Один файл tests/e2e/<сценарий>.spec.ts на сценарий, test.step с понятным названием на каждый шаг, @critical в заголовке, скриншоты на именованных шагах. Плюс playwright.config.ts с трассировкой при повторе, скриншотами при падении, повторами в CI и отчётами list, html и json.

  4. Покрытие и результаты

    Вставьте список маршрутов или sitemap.xml и отметьте важные — инструмент покажет, какие из них не открывает ни один сценарий. После прогона загрузите JSON-отчёт: статусы, длительность, ошибки, вложения, нестабильные тесты и сравнение с прошлым прогоном.

Открыть страницу

Группа
переход
Нужен элемент
—

Нажать

Группа
действие
Нужен элемент
да

Заполнить поле

Группа
действие
Нужен элемент
да

Выбрать вариант

Группа
действие
Нужен элемент
да

Отметить флажок

Группа
действие
Нужен элемент
да

Снять флажок

Группа
действие
Нужен элемент
да

Нажать клавишу

Группа
действие
Нужен элемент
по желанию

Навести курсор

Группа
действие
Нужен элемент
да

Ждать: текст на странице

Группа
ожидание
Нужен элемент
—

Ждать: адрес страницы

Группа
ожидание
Нужен элемент
—

Ждать: ответ сервера

Группа
ожидание
Нужен элемент
—

Проверить: элемент виден

Группа
проверка
Нужен элемент
да

Проверить: элемент скрыт

Группа
проверка
Нужен элемент
да

Проверить: текст элемента

Группа
проверка
Нужен элемент
да

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

Группа
проверка
Нужен элемент
—

Проверить: заголовок вкладки

Группа
проверка
Нужен элемент
—

Проверить: количество

Группа
проверка
Нужен элемент
да

Скриншот

Группа
прочее
Нужен элемент
—

Пауза по времени (запрещено)

Группа
прочее
Нужен элемент
—
Типы шагов

Защита от запуска на production

  • Адрес стенда берётся только из переменной STAGING_URL; в шагах — пути от корня (/catalog), абсолютные адреса запрещены правилом UFT-T13.
  • playwright.config.ts останавливает запуск до первого теста, если STAGING_URL не задан, не является адресом http(s), совпадает с production-хостом или не входит в белый список staging-хостов.
  • Пароли, токены, PIN и данные карт подставляются из переменных окружения (env:ИМЯ → process.env.ИМЯ). Литерал, похожий на секрет, в код не попадает (UFT-T06, UFT-T07).
  • Команды запуска — в README: npx playwright install, затем STAGING_URL=… npx playwright test --grep @critical.

Правила проверки

Таблица строится из того же кода, что и проверки в инструменте.

UFT-P01

Уровень
ошибка
Правило
Не указан ни один staging-хост
Что сделать
Добавьте хост staging в белый список — без него конфигурация остановит запуск.

UFT-P02

Уровень
ошибка
Правило
Хост есть и в staging, и в production
Что сделать
Уберите production-хост из белого списка staging.

UFT-P03

Уровень
предупреждение
Правило
Строка не похожа на хост
Что сделать
Укажите хост без пути: staging.example.com или localhost:3000.

UFT-S01

Уровень
ошибка
Правило
Сценарий никуда не переходит
Что сделать
Укажите стартовый маршрут или добавьте шаг «Открыть страницу».

UFT-S02

Уровень
ошибка
Правило
Повторяющееся название сценария
Что сделать
Названия должны различаться: по ним результаты прогона сопоставляются со сценариями.

UFT-S03

Уровень
предупреждение
Правило
Сценарий не заканчивается проверкой
Что сделать
Добавьте в конец «Проверить…» — иначе тест пройдёт, даже если результат действия неверный.

UFT-S04

Уровень
предупреждение
Правило
Поле заполнено, но дальше ничего не проверяется
Что сделать
После ввода добавьте проверку результата (адрес, текст, сообщение).

UFT-S05

Уровень
ошибка
Правило
В сценарии нет шагов
Что сделать
Добавьте хотя бы одно действие и одну проверку.

UFT-T01

Уровень
ошибка
Правило
У шага не заполнено обязательное поле
Что сделать
Заполните поле — шаг без него не генерируется.

UFT-T02

Уровень
предупреждение
Правило
CSS-селектор вместо роли, подписи или test id
Что сделать
CSS ломается при смене вёрстки. Используйте роль и имя, подпись поля или data-testid.

UFT-T03

Уровень
предупреждение
Правило
XPath-селектор
Что сделать
XPath привязан к структуре DOM. Замените на роль, подпись или test id.

UFT-T04

Уровень
предупреждение
Правило
Выбор по позиции (nth-child, nth, eq)
Что сделать
Порядок элементов меняется. Найдите элемент по имени или test id.

UFT-T05

Уровень
ошибка
Правило
Пауза по времени запрещена
Что сделать
Замените паузу ожиданием текста, адреса или ответа сервера — код для паузы не генерируется.

UFT-T06

Уровень
ошибка
Правило
Значение похоже на секрет
Что сделать
Используйте env:ИМЯ — значение возьмётся из переменной окружения. Литерал в код не попадёт.

UFT-T07

Уровень
ошибка
Правило
Пароль или код вписан прямо в сценарий
Что сделать
Для паролей, токенов, PIN и данных карт используйте env:ИМЯ. Литерал в код не попадёт.

UFT-T08

Уровень
ошибка
Правило
Неверное имя переменной окружения
Что сделать
Имя — латиница в верхнем регистре, цифры и _: env:E2E_USER_EMAIL.

UFT-T09

Уровень
совет
Правило
Нажатие по тексту, а не по роли
Что сделать
Роль с именем точнее: кнопка «Войти» не совпадёт с абзацем, где есть слово «Войти».

UFT-T10

Уровень
предупреждение
Правило
Роль без доступного имени
Что сделать
Без имени под роль обычно попадает несколько элементов — тест упадёт на строгом режиме.

UFT-T11

Уровень
предупреждение
Правило
Ожидание ответа не стоит перед действием
Что сделать
Ставьте «Ждать: ответ сервера» прямо перед действием, которое шлёт запрос, — генератор объединит их.

UFT-T12

Уровень
ошибка
Правило
Неизвестная клавиша
Что сделать
Примеры: Enter, Tab, Escape, ArrowDown, Control+A.

UFT-T13

Уровень
ошибка
Правило
Абсолютный адрес вместо пути
Что сделать
Пишите путь от корня (/catalog): адрес стенда берётся из STAGING_URL и проходит защиту от production.

UFT-C01

Уровень
предупреждение
Правило
Важный маршрут не покрыт сценариями
Что сделать
Добавьте сценарий, который открывает маршрут или проверяет переход на него.
Правила UFT v1.0 (2026-10-13)

Ограничения

  • Сгенерированный код — отправная точка: имена кнопок, подписи полей и маршруты должны совпадать с вашим интерфейсом. Запустите тесты на staging и поправьте шаги, которые не нашли элемент.
  • Состояние входа описывается заметкой: готовые storageState и фикстуры авторизации инструмент не создаёт.
  • Покрытие маршрутов считает только переходы и проверки адреса в сценариях; переход по ссылке без проверки адреса покрытием не считается.
  • Из отчёта берутся имена и пути вложений — сами скриншоты и трассировки не загружаются. Сопоставление тестов со сценариями идёт по названию (без тегов) или имени файла.
  • Зелёный прогон не гарантирует отсутствие ошибок: тесты проверяют только то, что в них описано.

Приватность

  • Сценарии, маршруты и отчёты обрабатываются в вашем браузере и сами никуда не отправляются; адрес страницы не меняется.
  • Черновик и версии хранятся только в этом браузере (localStorage); «Очистить всё» удаляет их. Импортированные прогоны хранятся в сокращённом виде — без тел вложений.
  • В аналитику уходит только факт экспорта или импорта и категория (тип файла, есть ли падения) — без названий, шагов и адресов.
  • Результат уходит к нам, только если вы сами оставите заявку и не снимете галочку «Приложить результат» — что именно уйдёт, видно в форме: сценарии с шагами, покрытие маршрутов и итоги последнего прогона. Хосты staging и production, значения полей, тексты ошибок и вложения в заявку не попадают.

Похожие инструменты

Все инструменты · 40
Готовность к релизуМатрица проверок с доказательствами: CI, миграции, резервные копии, план отката, мониторинг, исключения из рисков и согласование → решение GO / NO-GO.Screenshot → Bug: баг-репорт по скриншотуСкриншот или видео → скрытие приватных данных, разметка проблемы, шаги воспроизведения, проверка человеком и экспорт в GitHub, GitLab или Jira.API Mock Studio: тестовый APIИмпорт OpenAPI или ручные endpoints → тестовые данные, разные HTTP-ответы, задержки и ошибки, журнал запросов, проверка контракта и готовый mock-сервер.Проверка согласованности интерфейсаDesign tokens против CSS: цвета и размеры вне системы, контраст по WCAG, сравнение скриншота с утверждённым baseline и разбор найденного.Проверка спроса до разработкиГипотезы с порогами, лендинг и форма заявки, UTM-ссылки, воронка, интервью и отчёт эксперимента → решение продолжать, менять или закрывать идею.Конструктор коммерческого предложенияШаблоны КП для IT-проектов: состав, этапы, смета, сроки, допущения и исключения, версии с контролем цифр, согласование и PDF.
Расскажите о задаче — мы изучим запрос и свяжемся с вами

Нужен аудит тестов и релизного процесса?

Проверим, какие пользовательские операции защищены тестами, где тесты хрупкие и что мешает выпускать без страха. Объём и стоимость — после короткого брифа.

  • Первый короткий разговор бесплатный — выбираем формат работы
  • NDA — по вашему или нашему шаблону
  • Стоимость — после брифа и согласования объёма

Не присылайте через форму пароли, ключи доступа и исходный код — безопасную передачу доступа обсудим отдельно.

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