Тесты

Отдельное действие или правило мало что доказывает: настоящая проверка — это путь целиком, от входа до нужной страницы, со всеми проверками по дороге. Тест собирает такой путь из готовых кусочков и запускается сколько угодно раз. Ниже — из чего состоит тест и как его собрать.

Что такое тест

Последовательность шагов, которые выполняются по порядку. Шаг бывает трёх видов:

  • Открыть адрес — перейти на нужную страницу.
  • Выполнить действие — пройти записанный сценарий: войти, заполнить форму, открыть раздел.
  • Проверить правила — прогнать проверки на странице, где тест оказался.

У шага есть переключатель «продолжать при ошибке». Обычно он выключен: если шаг не сработал, идти дальше бессмысленно — результат всё равно будет неверным. Включают его, когда шаг необязательный: например, всплывающее окно, которое появляется не у всех.

У шага может быть и объявление съёмки — задание, что снять для визуальной проверки: вид снимка (видимая часть страницы, страница целиком, отдельный блок или элемент), понятное имя, как найти элемент на странице, какие области закрасить, к какой вариации отнести снимок и с каким порогом сравнивать. Что это даёт — в разделе Визуальное тестирование.

Тест с объявленными снимками при запуске превращается в сборку: продукт снимает то, что вы указали, и сравнивает снимки с эталонами. Тест без объявлений работает как раньше — проверками по правилам.

Сборка теста

  1. На вкладке «Тесты» создайте новый тест и дайте ему понятное имя: «Оплата заказа».
  2. Добавьте шаги по порядку и выберите для них готовые действия и правила из списка.
  3. В шаге «проверить правила» можно сузить набор: например, проверять только правила страниц оплаты, а не все правила проекта.
  4. Сохраните. Каждый шаг проверяется сразу: если действие удалено или ещё не подтверждено, тест не сохранится и продукт скажет, какой именно шаг виноват.

Проверка при сохранении — не придирка: тест, который ссылается на несуществующий шаг, всё равно не выполнится, только вы узнаете об этом в самый неподходящий момент.

Чем тест отличается от одного правила

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

Где живёт тест

Тест — файл tests/<id>.yml в папке проекта, рядом с действиями и правилами. Значит, он попадает в историю правок и переносится на другой сервер вместе с проектом. Менять его можно и через интерфейс, и в файле — если открыть в файловом диалоге, список покажет актуальное содержимое. А собрать или поправить тот же тест умеет и агент-программист по ключу доступа — см. раздел Внешний доступ для агентов.

Подготовка и очистка

До своих шагов тест может выполнить подготовку, а после — очистку: например, войти в нужный аккаунт перед началом и привести данные в порядок после. Список действий «до» и «после» задаётся у проекта один раз и подходит всем тестам. Если у теста есть свои списки, они полностью заменяют проектные — не смешиваются с ними; пустой список означает осознанный отказ от фазы. Очистка выполняется даже тогда, когда шаг завершился ошибкой, — иначе после неудачного запуска останется мусор.

Нужные адреса и пароли тест берёт из Сред, учётных данных и переменных.

История версий теста

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

Когда шаг устарел

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

  • посмотреть сообщение об ошибке — в нём сказано, какой шаг не прошёл;
  • перезаписать действие на этой странице — новое действие запомнит элементы заново;
  • либо попросить агента исправить действие словами, если правка небольшая.

Как запустить

Тест можно поставить вручную: кнопкой на вкладке «Тесты» в приложении или через выбор теста в панели дополнения. Дальше он ждёт исполнителя — браузера с подключённым дополнением. Обычно это меньше минуты. Если запускать нужно регулярно, тест ставят на расписание.

Дальше: что происходит во время запуска и что остаётся после него — в разделе Запуски.

← Оглавление документации