Быстрый старт
Эта страница поможет быстро начать работу с E2E тестами.
Требования
Перед началом работы убедитесь, что у вас установлены:
- Node.js 22 или выше
- pnpm 10 или выше
- Doppler CLI (для генерации окружения)
bash
node --version # должен быть >= 22
pnpm --version # должен быть >= 10
doppler --versionУстановка
1. Клонирование репозитория
bash
git clone <repository-url>
cd saas-e2e2. Установка зависимостей
bash
pnpm installВажно
Проект использует pnpm как единственный пакетный менеджер. Использование npm или yarn заблокировано через preinstall hook.
3. Генерация переменных окружения
Проект использует Doppler для управления секретами. Сгенерируйте environment файлы:
bash
pnpm generate:env -- local # Для локального окружения
pnpm generate:env -- dev # Для dev окружения
pnpm generate:env -- prod # Для production окруженияВажно
Этот шаг обязателен перед первым запуском. Без генерации environment.ts тесты не запустятся.
Необходимые секреты в Doppler:
| Секрет | Описание |
|---|---|
API_BASE_URL | URL API сервера (например, http://localhost:3000) |
CLIENT_BASE_URL | URL клиентского приложения (например, http://localhost:4200) |
TEST_USER_EMAIL | Email тестового пользователя |
TEST_USER_PASSWORD | Пароль тестового пользователя |
ADMIN_USER_EMAIL | Email администратора |
ADMIN_USER_PASSWORD | Пароль администратора |
4. Установка Playwright браузеров
bash
pnpm exec playwright install chromium5. Запуск тестов
bash
pnpm testБыстрый старт (все команды)
bash
git clone <repository-url>
cd saas-e2e
pnpm install
pnpm generate:env -- local
pnpm exec playwright install chromium
pnpm testОсновные команды
Тестирование
bash
pnpm test # Все тесты
pnpm test:api # Только API тесты (без браузера)
pnpm test:client # Только Client тесты (браузер)
pnpm test:headed # С видимым браузером
pnpm test:debug # Debug-режим (Playwright Inspector)
pnpm test:ui # UI-режим Playwright
pnpm test:report # Открыть HTML-отчетКачество кода
bash
pnpm lint # ESLint проверка
pnpm lint:fix # ESLint с автоисправлением
pnpm format # Prettier форматирование
pnpm format:check # Prettier проверка
pnpm typecheck # TypeScript проверка (tsc --noEmit)Документация
bash
pnpm docs:dev # Dev-сервер документации
pnpm docs:build # Сборка документации
pnpm docs:preview # Превью сборкиСтруктура проекта
saas-e2e/
├── tests/
│ ├── setup/ # Auth setup (browser login, storageState)
│ ├── fixtures/ # Кастомные Playwright фикстуры
│ ├── helpers/ # Утилиты для валидации ответов API
│ ├── api/ # API тесты (32 файла, без браузера)
│ └── client/ # Browser тесты (14 файлов)
├── src/
│ └── environments/ # Конфигурация окружений (gitignored)
├── scripts/ # Утилитарные скрипты
├── docs/ # Документация (VitePress)
├── playwright.config.ts # Конфигурация Playwright
├── eslint.config.mjs # ESLint flat config
├── tsconfig.json # TypeScript конфигурация
└── package.json # Dependencies и скриптыЧто дальше?
- Архитектура — устройство тестовой инфраструктуры
- Фикстуры и хелперы — кастомные фикстуры для аутентификации
- API тесты — описание API тест-кейсов
- CI/CD — настройка автоматического запуска