Перейти к основному содержимому

Командная строка

Playwright предоставляет мощный интерфейс командной строки для запуска тестов, генерации кода, отладки и многого другого. Самый актуальный список команд и аргументов CLI всегда можно получить с помощью npx playwright --help.

Основные команды

Запуск тестов

Запускает ваши тесты Playwright. Подробнее о запуске тестов.

Синтаксис

npx playwright test [options] [test-filter...]

Примеры

# Запустить все тесты
npx playwright test

# Запустить один файл тестов
npx playwright test tests/todo-page.spec.ts

# Запустить набор файлов тестов
npx playwright test tests/todo-page/ tests/landing-page/

# Запустить тесты на конкретной строке
npx playwright test my-spec.ts:42

# Запустить тесты по заголовку
npx playwright test -g "add a todo item"

# Запустить тесты в headed-режиме
npx playwright test --headed

# Запустить тесты для конкретного проекта
npx playwright test --project=chromium

# Справка
npx playwright test --help

Отключить параллелизацию

npx playwright test --workers=1

Запуск в режиме отладки с Playwright Inspector

npx playwright test --debug

Запуск тестов в интерактивном UI mode

npx playwright test --ui

Часто используемые опции

ОпцияОписание
--debugЗапускает тесты с Playwright Inspector. Сокращение для переменной окружения PWDEBUG=1 и опций --timeout=0 --max-failures=1 --headed --workers=1.
--headedЗапускает тесты в браузерах с интерфейсом (по умолчанию: headless).
-g <grep> или --grep <grep>Запускает только тесты, соответствующие этому регулярному выражению (по умолчанию: ".*").
--project <project-name...>Запускает тесты только из указанного списка проектов; поддерживает wildcard * (по умолчанию: запускаются все проекты).
--uiЗапускает тесты в интерактивном UI-режиме.
-j <workers> или --workers <workers>Количество параллельных воркеров или процент от числа логических ядер CPU; используйте 1, чтобы запускать в одном воркере (по умолчанию: 50%).

Все опции

ОпцияОписание
Аргументы без опцийКаждый аргумент трактуется как регулярное выражение, сопоставляемое с полным путём к файлу теста. Будут выполнены только тесты из файлов, путь которых соответствует шаблону. Спецсимволы вроде $ или * нужно экранировать с помощью \. Во многих shell/терминалах аргументы может потребоваться заключать в кавычки.
-c <file> или --config <file>Файл конфигурации или директория с тестами с необязательным playwright.config.&#123;m,c&#125;?&#123;js,ts&#125;. По умолчанию используется playwright.config.ts или playwright.config.js в текущей директории.
--debugЗапускает тесты с Playwright Inspector. Сокращение для PWDEBUG=1 и опций --timeout=0 --max-failures=1 --headed --workers=1.
--fail-on-flaky-testsЗавершает запуск с ошибкой, если какой‑то тест помечен как flaky (по умолчанию: false).
--forbid-onlyЗавершает запуск с ошибкой, если встречается test.only (по умолчанию: false). Полезно в CI.
--fully-parallelЗапускает все тесты параллельно (по умолчанию: false).
--global-timeout <timeout>Максимальное время выполнения всего набора тестов (в миллисекундах) (по умолчанию: без ограничений).
-g <grep> или --grep <grep>Запускает только тесты, соответствующие этому регулярному выражению (по умолчанию: ".*").
--grep-invert <grep>Запускает только тесты, которые не соответствуют этому регулярному выражению.
--headedЗапускает тесты в браузерах с интерфейсом (по умолчанию: headless).
--ignore-snapshotsИгнорирует ожидания скриншотов и снапшотов.
-j <workers> или --workers <workers>Количество параллельных воркеров или процент от числа логических ядер CPU; используйте 1, чтобы запускать в одном воркере (по умолчанию: 50%).
--last-failedПовторно запускает только упавшие тесты.
--listСобирает список тестов и выводит его, но не запускает.
--max-failures <N> или -xОстанавливается после первых N падений. Опция -x останавливает после первого падения.
--no-depsНе запускает зависимости проектов.
--output <dir>Папка для выходных артефактов (по умолчанию: "test-results").
--only-changed [ref]Запускает только файлы тестов, изменённые между HEAD и ref. По умолчанию запускаются все незакоммиченные изменения. Поддерживается только Git.
--pass-with-no-testsСчитает запуск успешным, даже если тесты не найдены.
--project <project-name...>Запускает тесты только из указанного списка проектов; поддерживает wildcard * (по умолчанию: запускаются все проекты).
--quietПодавляет stdio.
--repeat-each <N>Запускает каждый тест N раз (по умолчанию: 1).
--reporter <reporter>Репортёр, который будет использоваться; перечисляется через запятую, может быть "dot", "line", "list" и др. (по умолчанию: "list"). Также можно передать путь к файлу пользовательского репортера.
--retries <retries>Максимальное число повторов для flaky-тестов; 0 — без повторов (по умолчанию: без повторов).
--shard <shard>Делит тесты на шарды и выполняет только выбранный шард, в формате "current/all" (нумерация с 1), например "3/5".
--test-list <file>Путь к файлу со списком тестов для запуска. См. test list.
--test-list-invert <file>Путь к файлу со списком тестов, которые нужно пропустить. См. test list.
--timeout <timeout>Таймаут теста в миллисекундах; 0 — без ограничений (по умолчанию: 30 секунд).
--trace <mode>Принудительно задаёт режим трассировки: on, off, on-first-retry, on-all-retries, retain-on-failure, retain-on-first-failure.
--tsconfig <path>Путь к единому tsconfig для всех импортируемых файлов (по умолчанию: tsconfig ищется для каждого импортируемого файла отдельно).
--uiЗапускает тесты в интерактивном UI-режиме.
--ui-host <host>Хост, на котором будет подниматься UI; при указании опции UI открывается во вкладке браузера.
--ui-port <port>Порт, на котором будет подниматься UI; 0 — любой свободный порт; при указании опции UI открывается во вкладке браузера.
-u или --update-snapshots [mode]Обновляет снапшоты фактическими результатами. Возможные значения: "all", "changed", "missing", "none". Запуск без флага использует "missing"; запуск с флагом, но без значения — "changed".
--update-source-method [mode]Обновляет снапшоты фактическими результатами. Возможные значения: "patch" (по умолчанию), "3way", "overwrite". "patch" создаёт unified diff-файл, который можно применить к исходникам позже. "3way" добавляет в исходники маркеры merge-конфликтов. "overwrite" перезаписывает исходники новыми значениями снапшотов.
-xОстанавливается после первого падения.

Список тестов

Опции --test-list и --test-list-invert принимают путь к файлу со списком тестов. Этот файл должен перечислять тесты в формате, похожем на вывод режима --list.

# Это файл со списком тестов.
# В нём могут быть комментарии и пустые строки.

# Полностью квалифицированный тест с проектом:
[chromium] › path/to/example.spec.ts:3:9 › suite › nested suite › example test

# Этот тест включён для всех проектов:
path/to/example.spec.ts:3:9 › example test

# В качестве разделителя можно использовать "›" или ">":
[firefox] > example.spec.ts > suite > nested suite > example test

# Номера строки/колонки полностью игнорируются — их можно опустить.
# Три записи ниже относятся к одному и тому же тесту:
example.spec.ts › example test
example.spec.ts:15 › example test
example.spec.ts:42:42 › example test

Показать отчёт

Показать HTML-отчёт из предыдущего запуска тестов. Подробнее об HTML-репортёре.

Синтаксис

npx playwright show-report [report] [options]

Примеры

# Show latest test report
npx playwright show-report

# Show a specific report
npx playwright show-report playwright-report/

# Show report on custom port
npx playwright show-report --port 8080

Параметры

OptionDescription
--host <host>
--port <port>

Установка браузеров

Установить браузеры, необходимые для Playwright. Подробнее о поддержке браузеров в Playwright.

Синтаксис

npx playwright install [options] [browser...]
npx playwright install-deps [options] [browser...]
npx playwright uninstall

Примеры

# Install all browsers
npx playwright install

# Install only Chromium
npx playwright install chromium

# Install specific browsers
npx playwright install chromium webkit

# Install browsers with dependencies
npx playwright install --with-deps

Параметры установки

OptionDescription
--force
--with-deps
--dry-run
--only-shell
--no-shell

Параметры установки зависимостей

OptionDescription
--dry-runDon't perform installation, just print information

Инструменты генерации и отладки

Генерация кода

Записывайте действия и генерируйте тесты для нескольких языков. Подробнее о Codegen.

Синтаксис

npx playwright codegen [options] [url]

Примеры

# Start recording with interactive UI
npx playwright codegen

# Record on specific site
npx playwright codegen https://playwright.dev

# Generate Python code
npx playwright codegen --target=python

Параметры

OptionDescription
-b, --browser <name>Используемый браузер: chromium, firefox или webkit (по умолчанию: chromium)
-o, --output <file>Выходной файл для сгенерированного скрипта
--target <language>Используемый язык: javascript, playwright-test, python и т. д.
--test-id-attribute <attr>Атрибут для использования в качестве идентификаторов тестов

Просмотрщик трассировки

Анализируйте и просматривайте трассы тестов для отладки. Подробнее о Trace Viewer.

Синтаксис

npx playwright show-trace [options] [trace]

Примеры

# Open trace viewer without a specific trace (can load traces via UI)
npx playwright show-trace

# View a trace file
npx playwright show-trace trace.zip

# View trace from directory
npx playwright show-trace trace/

Options

OptionDescription
-b, --browser <name>Используемый браузер: chromium, firefox или webkit (по умолчанию: chromium)
-h, --host <host>Хост для публикации трассировки
-p, --port <port>

Специализированные команды

Объединение отчётов

Прочитать отчёты blob и объединить их. Подробнее о merge-reports.

Синтаксис

npx playwright merge-reports [options] <blob dir>

Примеры

# Combine test reports
npx playwright merge-reports ./reports

Параметры

ПараметрОписание
-c, --config <file>Файл конфигурации. Может использоваться для указания дополнительной конфигурации для выходного отчёта
--reporter <reporter>

Очистка кэша

Очистить все кэши Playwright.

Синтаксис

npx playwright clear-cache