Справочник элементов
Шаг автотеста
Шаг автотеста
Шаг автотеста - одно действие Playwright внутри автотеста. У шага есть action_name, необязательный Target, необязательный Value, необязательный timeout_ms и при необходимости expected_value.
На карточке автотеста шаги показываются в виде Панель или Карточки. Как переключить и когда остаётся только карточки: Составление шагов автотеста.
Источник истины правил действий - файл данных autotest-actions.json в репозитории документации (каталог app/src/.vitepress/data/). Инструкции по каждому действию: /ru/autotests/actions/{action_name}.
Связи
| Связанный элемент | Как связан |
|---|---|
| Автотест | Обязательный родитель |
| Элемент / страница | Необязательный Target из репозитория объектов |
| Тестовый аккаунт | Через источник Value TEST_ACCOUNT у выполняемого CASE |
Поля модели
| Название | Техническое имя | Смысл |
|---|---|---|
| Действие | action_name | Имя из каталога (21 действие) |
| Target | Target | Элемент/страница репозитория или локатор на шаге |
| Value | Value / value_text | Текст, путь, URL, клавиша, имя атрибута - по действию |
| Источник Value | value_source_type | INLINE или TEST_ACCOUNT |
| Поле аккаунта | value_source_field | login или password при TEST_ACCOUNT |
| Таймаут | timeout_ms | Необязательный лимит ожидания/проверки в мс |
| Ожидаемое значение | expected_value | Для toHaveAttribute: ожидаемое содержимое атрибута |
Таблицы полей как проекция схемы появятся после артефакта схемы на пути проверки запроса. До этого ориентир - каталог действий ниже и SDK.
Виды локатора Target
Литералы kind - только UPPERCASE:
kind | Смысл | В интерфейсе |
|---|---|---|
ROLE | Accessibility role; при необходимости имя (name) | Role |
LABEL | Связанный label поля (label / accessible name поля ввода) | Label |
PLACEHOLDER | Placeholder | Placeholder |
TESTID | Test id | Test id |
TEXT | Видимый текст на странице (не label поля) | Text |
CSS | CSS-селектор | CSS |
ID | Атрибут id | ID |
NAME | Атрибут name | Name |
XPATH | XPath | XPath |
SELECTOR | Селектор в общем виде | Selector |
В селекте Искать по не путайте LABEL и TEXT:
| Выбрать | Когда |
|---|---|
LABEL (Label) | Цель - поле/контрол по его label (например «Email», «Пароль» у input) |
TEXT (Text) | Цель - элемент по видимому тексту на экране (кнопка «Сохранить», заголовок, ссылка) |
Подписи в селекте - оригинальные английские слова Playwright (Role, Label, Text), на всех локалях интерфейса одинаково. Литерал в JSON и API всегда UPPERCASE (LABEL, TEXT).
В карточке шага автотеста селект называется Искать по. Те же литералы kind и те же подписи используются у элемента репозитория объектов.
Target также может ссылаться на запись репозитория объектов вместо локатора на шаге. Подробнее: Привязка Target из репозитория объектов.
Источники Value
| Значение | Смысл |
|---|---|
INLINE | Текст хранится в шаге |
TEST_ACCOUNT | Воркер берёт поле login или password аккаунта выполняемого CASE |
Поля тестового аккаунта для источника: login, password. Инструкция: Значения из тестового аккаунта в шагах.
Правила каталога
- Скриншот не является шагом. Параметры запуска (
Скриншот при ошибке,Скриншот результата) - неaction_name. Типичные ложные падения шагов: Как задавать шаги автотеста без ложных падений. TEST_ACCOUNTнельзя сочетать с Target-страницей репозитория на том же шаге.TEST_ACCOUNTзапрещён дляgoto,waitForURL,toHaveURL,waitForTimeout.- Не кликайте ссылки с новой вкладкой (
target=_blank): откройте URL черезgoto. - Проверить синтаксис проверяет сохранённые шаги. Сайт не открывает и не ловит строгий режим Playwright во время выполнения.
- Предупреждение, если CSS-локатор использует подстроку
*=. Предпочитайте точные локаторы.
Каталог действий
Колонки Target / Value: обязательно, не используется или необязательно - по autotest-actions.json. Ссылка ведёт на инструкцию действия.
action_name | Группа | Target | Value | TEST_ACCOUNT | Инструкция |
|---|---|---|---|---|---|
goto | Навигация | Не используется | Необязательно (url) | Нет | goto |
click | Указатель | Обязательно | Не используется | Нет | click |
dblclick | Указатель | Обязательно | Не используется | Нет | dblclick |
fill | Ввод | Обязательно | Обязательно (text) | Да | fill |
type | Ввод | Обязательно | Обязательно (text) | Да | type |
press | Ввод | Обязательно | Обязательно (key) | Да | press |
check | Ввод | Обязательно | Не используется | Нет | check |
uncheck | Ввод | Обязательно | Не используется | Нет | uncheck |
selectOption | Ввод | Обязательно | Обязательно (text) | Да | selectOption |
hover | Указатель | Обязательно | Не используется | Нет | hover |
focus | Указатель | Обязательно | Не используется | Нет | focus |
waitForSelector | Ожидание | Обязательно | Не используется | Нет | waitForSelector |
waitForURL | Ожидание | Не используется | Обязательно (url) | Нет | waitForURL |
waitForTimeout | Ожидание | Не используется | Обязательно (duration_ms) | Нет | waitForTimeout |
goBack | Навигация | Не используется | Не используется | Нет | goBack |
goForward | Навигация | Не используется | Не используется | Нет | goForward |
reload | Навигация | Не используется | Не используется | Нет | reload |
toBeVisible | Проверка | Обязательно | Не используется | Нет | toBeVisible |
toHaveText | Проверка | Обязательно | Обязательно (text) | Да | toHaveText |
toHaveURL | Проверка | Не используется | Обязательно (url) | Нет | toHaveURL |
toHaveAttribute | Проверка | Обязательно | Обязательно (attribute_name) + expected_value | Да | toHaveAttribute |
Ограничения
- Для
gotoполный URL должен указывать на подтверждённый домен команды (или поддомен). - Падение шага expect (
toBeVisible,toHaveText,toHaveURL,toHaveAttribute) валит результат автотеста.
Страница не помогла?