Командная строка
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.{m,c}?{js,ts}. По умолчанию используется 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
Параметры
| Option | Description |
|---|---|
--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
Параметры установки
| Option | Description |
|---|---|
--force | |
--with-deps | |
--dry-run | |
--only-shell | |
--no-shell |
Параметры установки зависимостей
| Option | Description |
|---|---|
--dry-run | Don'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
Параметры
| Option | Description |
|---|---|
-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
| Option | Description |
|---|---|
-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