Инструкция

Составление шагов автотеста

Составление шагов автотеста ​

Составление шагов автотеста собирает сценарий Playwright на карточке автотеста: действие, Target, Value и при необходимости таймаут. После сохранения шаги готовы к проверке синтаксиса и к запуску автотестов.

Источник истины правил Target, Value и TEST_ACCOUNT - файл данных autotest-actions.json в репозитории документации и справочник Шаг автотеста. Инструкции по отдельным действиям лежат под /ru/autotests/actions/{action_name}.

Виды на карточке автотеста ​

В блоке шагов переключатель Вид даёт два отображения. Смысл шага один и тот же.

Блок Шаги: шесть шагов и переключатель вида

Вид в интерфейсеКак устроено
ПанельСписок шагов слева, редактор выбранного шага справа
КарточкиКаждый шаг - своя карточка; редактор открывается под выбранным шагом

Выбор запоминается в браузере. Если блок шагов узкий, переключатель скрывается и остаётся вид Карточки: панель рядом со списком не помещается.

Предварительные требования ​

  1. В проекте есть автотест вида CASE или COMMON. Создание: Создание автотестов.
  2. Роль участника с правом записи в проект.
  3. Для логина и пароля из TEST_ACCOUNT у запускаемого CASE привязан тестовый аккаунт.
  4. При необходимости переиспользуемые локаторы уже есть в репозитории объектов.

Порядок ​

  1. Откройте Автотесты в проекте и откройте карточку автотеста.
  2. Добавьте шаг автотеста.
  3. Выберите action_name из каталога действий (см. таблицу ниже и отдельные инструкции).
  4. Заполните Target, если действие его требует:
    • элемент из репозитория объектов, или
    • локатор на шаге: вид (kind) и значение из ROLE, LABEL, PLACEHOLDER, TESTID, TEXT, TITLE, ALT, CSS, ID, NAME, XPATH, SELECTOR. LABEL - подпись поля, TEXT - видимый текст, TITLE - атрибут title, ALT - альтернативный текст (не путать): Шаг автотеста. Для press Target можно не заполнять: клавиша уйдёт в страницу.
  5. Заполните Value, если действие его требует. Для toHaveAttribute в Value укажите имя атрибута; ожидаемое содержимое - в expected_value, его можно не заполнять. Для toHaveCSS в Value укажите имя свойства, а вычисленное значение - в expected_value; оба обязательны.
  6. Выберите источник Value: INLINE (текст в шаге) или TEST_ACCOUNT (поле login или password аккаунта). Подробнее: Значения из тестового аккаунта в шагах.
  7. При необходимости задайте timeout_ms для ожидания или проверки.
  8. При необходимости нажмите Проверить синтаксис.
  9. Сохраните шаг и автотест.

Шаг появляется в порядке сценария на карточке. Дальше - соседние шаги или создание запуска автотестов.

Каталог действий (ссылки) ​

action_nameИнструкция
gotoПереход (goto)
clickЩелчок (click)
rightClickПравый щелчок (rightClick)
dblclickДвойной щелчок (dblclick)
fillЗаполнение поля (fill)
typeПосимвольный ввод (type)
pressSequentiallyПоследовательный ввод (pressSequentially)
pressНажатие клавиши (press)
checkВключение чекбокса (check)
uncheckВыключение чекбокса (uncheck)
selectOptionВыбор в списке (selectOption)
clearОчистка поля (clear)
selectTextВыделение текста (selectText)
hoverНаведение (hover)
focusФокус (focus)
blurСнятие фокуса (blur)
scrollIntoViewIfNeededПрокрутка к элементу (scrollIntoViewIfNeeded)
waitForSelectorОжидание селектора (waitForSelector)
waitForURLОжидание URL (waitForURL)
waitForTimeoutПауза (waitForTimeout)
goBackНазад в истории (goBack)
goForwardВперёд в истории (goForward)
reloadПерезагрузка (reload)
toBeVisibleПроверка видимости (toBeVisible)
toBeHiddenПроверка скрытости (toBeHidden)
toBeEnabledПроверка доступности (toBeEnabled)
toBeDisabledПроверка недоступности (toBeDisabled)
toBeCheckedПроверка отметки (toBeChecked)
toBeEditableПроверка редактируемости (toBeEditable)
toBeFocusedПроверка фокуса (toBeFocused)
toBeEmptyПроверка пустоты (toBeEmpty)
toHaveTextПроверка текста (toHaveText)
toContainTextПроверка вхождения текста (toContainText)
toHaveValueПроверка значения поля (toHaveValue)
toHaveCountПроверка числа элементов (toHaveCount)
toHaveURLПроверка URL (toHaveURL)
toHaveTitleПроверка заголовка страницы (toHaveTitle)
toHaveAttributeПроверка атрибута (toHaveAttribute)
toHaveClassПроверка класса (toHaveClass)
toHaveIdПроверка id (toHaveId)
toHaveCSSПроверка CSS (toHaveCSS)

Полная таблица правил - в Шаге автотеста. Привязка Target из каталога: Привязка Target из репозитория объектов.

Пример: вход (goto + fill + click) ​

Мини-сценарий: открыть страницу входа, заполнить логин и пароль из тестового аккаунта, нажать кнопку входа. JSON-массив шагов (copy-paste):

json
[
  {
    "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): Как задавать шаги автотеста без ложных падений.

Версия 1.3.1 · Последнее изменение 2026-10-07

Страница не помогла?