Отдельное действие или правило мало что доказывает: настоящая проверка — это путь целиком, от входа до нужной страницы, со всеми проверками по дороге. Тест собирает такой путь из готовых кусочков и запускается сколько угодно раз. Ниже — из чего состоит тест и как его собрать.
Что такое тест
Последовательность шагов, которые выполняются по порядку. Шаг бывает трёх видов:
- Открыть адрес — перейти на нужную страницу.
- Выполнить действие — пройти записанный сценарий: войти, заполнить форму, открыть раздел.
- Проверить правила — прогнать проверки на странице, где тест оказался.
У шага есть переключатель «продолжать при ошибке». Обычно он выключен: если шаг не сработал, идти дальше бессмысленно — результат всё равно будет неверным. Включают его, когда шаг необязательный: например, всплывающее окно, которое появляется не у всех.
У шага может быть и объявление съёмки — задание, что снять для визуальной проверки: вид снимка (видимая часть страницы, страница целиком, отдельный блок или элемент), понятное имя, как найти элемент на странице, какие области закрасить, к какой вариации отнести снимок и с каким порогом сравнивать. Что это даёт — в разделе Визуальное тестирование.
Тест с объявленными снимками при запуске превращается в сборку: продукт снимает то, что вы указали, и сравнивает снимки с эталонами. Тест без объявлений работает как раньше — проверками по правилам.
Сборка теста
- На вкладке «Тесты» создайте новый тест и дайте ему понятное имя: «Оплата заказа».
- Добавьте шаги по порядку и выберите для них готовые действия и правила из списка.
- В шаге «проверить правила» можно сузить набор: например, проверять только правила страниц оплаты, а не все правила проекта.
- Сохраните. Каждый шаг проверяется сразу: если действие удалено или ещё не подтверждено, тест не сохранится и продукт скажет, какой именно шаг виноват.
Проверка при сохранении — не придирка: тест, который ссылается на несуществующий шаг, всё равно не выполнится, только вы узнаете об этом в самый неподходящий момент.
Чем тест отличается от одного правила
Правило проверяет страницу, на которой вы его запустили. Тест сам приводит браузер на нужные страницы и проверяет каждую из них. Поэтому правило отвечает на вопрос «что не так на этой странице», а тест — на вопрос «можно ли вообще пройти путь и всё ли на нём в порядке».
Где живёт тест
Тест — файл tests/<id>.yml в папке проекта, рядом с действиями и правилами. Значит, он попадает в историю правок и переносится на другой сервер вместе с проектом. Менять его можно и через интерфейс, и в файле — если открыть в файловом диалоге, список покажет актуальное содержимое. А собрать или поправить тот же тест умеет и агент-программист по ключу доступа — см. раздел Внешний доступ для агентов.
Подготовка и очистка
До своих шагов тест может выполнить подготовку, а после — очистку: например, войти в нужный аккаунт перед началом и привести данные в порядок после. Список действий «до» и «после» задаётся у проекта один раз и подходит всем тестам. Если у теста есть свои списки, они полностью заменяют проектные — не смешиваются с ними; пустой список означает осознанный отказ от фазы. Очистка выполняется даже тогда, когда шаг завершился ошибкой, — иначе после неудачного запуска останется мусор.
Нужные адреса и пароли тест берёт из Сред, учётных данных и переменных.
История версий теста
Каждое сохранение теста продукт запоминает как отдельную версию: видно, что и когда менялось, и прежнюю редакцию можно вернуть байт-в-байт. Запуск при этом помнит, какую именно версию он взял, — поэтому по старым сборкам всегда понятно, что тогда проверяли. Подробности — в разделе Версии тестов и шаги.
Когда шаг устарел
Интерфейс меняется, и шаг может перестать работать: кнопку переименовали, поле переехало. Признак простой — запуск заканчивается ошибкой на этом шаге, а сама страница при этом выглядит нормально. Что делать:
- посмотреть сообщение об ошибке — в нём сказано, какой шаг не прошёл;
- перезаписать действие на этой странице — новое действие запомнит элементы заново;
- либо попросить агента исправить действие словами, если правка небольшая.
Как запустить
Тест можно поставить вручную: кнопкой на вкладке «Тесты» в приложении или через выбор теста в панели дополнения. Дальше он ждёт исполнителя — браузера с подключённым дополнением. Обычно это меньше минуты. Если запускать нужно регулярно, тест ставят на расписание.
Дальше: что происходит во время запуска и что остаётся после него — в разделе Запуски.