Для работы с Playwright в проектах на JavaScript используется пакет
@playwright/test. Установка выполняется через npm:
npm init -y
npm install -D @playwright/test
npx playwright install
Первая команда создаёт package.json, вторая
устанавливает сам Playwright с его тестовым фреймворком, а третья
загружает браузеры (Chromium, Firefox, WebKit) для автоматизации. После
установки создаётся структура проекта с папками tests и
конфигурационным файлом playwright.config.js.
Ключевой момент: Playwright поддерживает как локальные браузеры, так и запуск в headless-режиме, что важно для CI/CD.
// playwright.config.js
import { defineConfig } from '@playwright/test';
export default defineConfig({
use: {
headless: true,
viewport: { width: 1280, height: 720 },
screenshot: 'only-on-failure',
video: 'retain-on-failure',
trace: 'on-first-retry',
},
});
Playwright поставляется с мощным CLI для генерации тестов, их запуска и отладки.
npx playwright test
По умолчанию выполняются все тесты в папке tests.
npx playwright test tests/login.spec.js
npx playwright test --debug
Этот режим открывает графический интерфейс, позволяет пошагово выполнять тесты, проверять селекторы и анализировать поведение браузера.
npx playwright codegen https://example.com
Команда запускает браузер и записывает действия пользователя в формате JavaScript или TypeScript, что ускоряет создание автотестов.
Особенность: кодогенератор умеет подбирать уникальные селекторы, добавлять ожидания для элементов и может создавать шаблоны для сложных сценариев.
Playwright CLI позволяет:
npx playwright test --project=firefox
npx playwright test --grep "логин"
npx playwright test --workers=4
npx playwright show-report
npx playwright test --update-snapshots
Выделение ключевого момента: Playwright интегрируется с CI/CD системами без сложной настройки, благодаря понятной структуре команд и наличию артефактов (скриншоты, видео, трассы).
После выполнения тестов Playwright генерирует интерактивный HTML-отчёт:
npx playwright show-report
Отчёт содержит:
Совет: включение
trace: 'on-first-retry' позволяет сохранять трассы только
при первой переиспытании, что экономит место на диске, но сохраняет
полную информацию для отладки.
--debugcodegenPlaywright CLI предоставляет дополнительные команды:
npx playwright test --headed
npx playwright open https://example.com
npx playwright test --storage-state=state.json
npx playwright codegen --target javascript
Ключевой момент: эти утилиты ускоряют разработку, повышают стабильность тестов и позволяют интегрировать Playwright в сложные пайплайны автоматизации.
Конфигурация CLI полностью настраивается через
playwright.config.js. Можно создавать несколько проектов,
каждый с отдельными параметрами браузера, viewport, retries и
артефактами.
Пример нескольких проектов:
projects: [
{ name: 'chromium', use: { browserName: 'chromium' } },
{ name: 'firefox', use: { browserName: 'firefox' } },
{ name: 'webkit', use: { browserName: 'webkit' } },
]
Это позволяет одновременно запускать тесты на всех браузерах и получать отдельные отчёты для каждого проекта.
Для упрощения запуска часто используют npm-скрипты в
package.json:
"scripts": {
"test": "playwright test",
"test:debug": "playwright test --debug",
"test:report": "playwright show-report"
}
Преимущество: команды становятся короткими и единообразными, что упрощает командную работу и настройку CI/CD.