Инструкция
Составление шагов автотеста
Составление шагов автотеста
Составление шагов автотеста собирает сценарий Playwright на карточке автотеста: действие, Target, Value и при необходимости таймаут. После сохранения шаги готовы к проверке синтаксиса и к запуску автотестов.
Источник истины правил Target, Value и TEST_ACCOUNT - файл данных autotest-actions.json в репозитории документации и справочник Шаг автотеста. Инструкции по отдельным действиям лежат под /ru/autotests/actions/{action_name}.
Виды на карточке автотеста
В блоке шагов переключатель Вид даёт два отображения. Смысл шага один и тот же.
| Вид в интерфейсе | Как устроено |
|---|---|
| Панель | Список шагов слева, редактор выбранного шага справа |
| Карточки | Каждый шаг - своя карточка; редактор открывается под выбранным шагом |
Выбор запоминается в браузере. Если блок шагов узкий, переключатель скрывается и остаётся вид Карточки: панель рядом со списком не помещается.
Предварительные требования
- В проекте есть автотест вида
CASEилиCOMMON. Создание: Создание автотестов. - Роль участника с правом записи в проект.
- Для логина и пароля из
TEST_ACCOUNTу запускаемогоCASEпривязан тестовый аккаунт. - При необходимости переиспользуемые локаторы уже есть в репозитории объектов.
Порядок
- Откройте Автотесты в проекте и откройте карточку автотеста.
- Добавьте шаг автотеста.
- Выберите
action_nameиз каталога действий (см. таблицу ниже и отдельные инструкции). - Заполните Target, если действие его требует:
- элемент из репозитория объектов, или
- локатор на шаге: вид (
kind) и значение изROLE,LABEL,PLACEHOLDER,TESTID,TEXT,CSS,ID,NAME,XPATH,SELECTOR.LABEL- подпись поля,TEXT- видимый текст (не путать): Шаг автотеста.
- Заполните Value, если действие его требует. Для
toHaveAttributeв Value укажите имя атрибута; ожидаемое содержимое - вexpected_value. - Выберите источник Value:
INLINE(текст в шаге) илиTEST_ACCOUNT(полеloginилиpasswordаккаунта). Подробнее: Значения из тестового аккаунта в шагах. - При необходимости задайте
timeout_msдля ожидания или проверки. - При необходимости нажмите Проверить синтаксис.
- Сохраните шаг и автотест.
Шаг появляется в порядке сценария на карточке. Дальше - соседние шаги или создание запуска автотестов.
Каталог действий (ссылки)
action_name | Инструкция |
|---|---|
goto | Переход (goto) |
click | Щелчок (click) |
dblclick | Двойной щелчок (dblclick) |
fill | Заполнение поля (fill) |
type | Посимвольный ввод (type) |
press | Нажатие клавиши (press) |
check | Включение чекбокса (check) |
uncheck | Выключение чекбокса (uncheck) |
selectOption | Выбор в списке (selectOption) |
hover | Наведение (hover) |
focus | Фокус (focus) |
waitForSelector | Ожидание селектора (waitForSelector) |
waitForURL | Ожидание URL (waitForURL) |
waitForTimeout | Пауза (waitForTimeout) |
goBack | Назад в истории (goBack) |
goForward | Вперёд в истории (goForward) |
reload | Перезагрузка (reload) |
toBeVisible | Проверка видимости (toBeVisible) |
toHaveText | Проверка текста (toHaveText) |
toHaveURL | Проверка URL (toHaveURL) |
toHaveAttribute | Проверка атрибута (toHaveAttribute) |
Полная таблица правил - в Шаге автотеста. Привязка Target из каталога: Привязка Target из репозитория объектов.
Пример: вход (goto + fill + click)
Мини-сценарий: открыть страницу входа, заполнить логин и пароль из тестового аккаунта, нажать кнопку входа. JSON-массив шагов (copy-paste):
[
{
"action_name": "goto",
"value_text": "/login",
"value_source_type": "INLINE"
},
{
"action_name": "fill",
"target": { "kind": "LABEL", "value": "Email" },
"value_text": "login",
"value_source_type": "TEST_ACCOUNT",
"value_source_field": "login"
},
{
"action_name": "fill",
"target": { "kind": "LABEL", "value": "Password" },
"value_text": "password",
"value_source_type": "TEST_ACCOUNT",
"value_source_field": "password"
},
{
"action_name": "click",
"target": { "kind": "ROLE", "value": "button", "name": "Sign in" }
}
]Скриншот экрана - опция запуска (Скриншот результата, Скриншот при ошибке), не action_name. Типичные ложные падения (импорт, glob URL, хост после COMMON, strict mode): Как задавать шаги автотеста без ложных падений.
Страница не помогла?