Skip to main content
Glama
baramubarok

playwright-generate-mcp

by baramubarok

playwright-generate-mcp

Сервер Model Context Protocol (MCP) корпоративного уровня, который позволяет ИИ-ассистентам для написания кода (Cursor, Claude Desktop, Antigravity, Roo Code и др.) генерировать, оценивать, запускать и автоматически исправлять надёжные, поддерживаемые и устойчивые к нестабильности Playwright E2E-тесты.

Он обеспечивает соблюдение доменно-ориентированной архитектуры Page Object Model (POM), предоставляет межфайловую оценку качества, собирает подробную диагностику сбоев за один вызов и соблюдает строгие web-first правила защиты от нестабильности.


✨ Ключевые возможности

  • 🏗️ Доменно-ориентированная архитектура POM: обеспечивает разделение ответственности между декларативными спецификациями, Page Objects, пользовательскими фикстурами и фабриками динамических данных.

  • 🔍 Межфайловая оценка качества POM: score_test_quality и run_playwright_test автоматически обходят зависимости импортов (.spec.ts $\rightarrow$ .fixture.ts $\rightarrow$ *.page.ts / *.component.ts), оценивая локаторы и антипаттерны во всех связанных файлах.

  • Подробная диагностика за один вызов: при падении теста run_playwright_test немедленно возвращает точный файл и номер строки, категорию ошибки, последние 3–5 шагов действий перед падением, консольные логи браузера, неудачные HTTP-запросы (4xx/5xx) и пути к скриншотам — за один вызов.

  • 🛡️ Строгие правила защиты от нестабильности: обнаруживает и не рекомендует произвольные паузы (waitForTimeout, setTimeout), действия без await, зависимость от networkidle и ручное извлечение текста в пользу web-first утверждений с автоматическими повторными попытками.

  • 🧭 Автообнаружение корня проекта без состояния: автоматически обходит родительские каталоги, обнаруживая playwright.config.{ts,js,mjs,cjs,mts,cts}, без необходимости ручной настройки пути.

  • 💬 Адаптивные интерактивные подтверждения: поддерживает интерактивные модальные окна UI (ask_question, vscode_askQuestions) или форматированные нумерованные списки перед применением исправлений тестов.


Related MCP server: Limetest MCP Server

📁 Архитектурный стандарт

Этот MCP-сервер помогает ИИ-агентам структурировать тесты в рамках чистой доменно-ориентированной иерархии:

tests/e2e/
├── domain/                      # Grouped by business features
│   └── {feature}/
│       ├── pages/               # Page Objects / Component Objects
│       │   └── {step}.page.ts
│       └── {feature}.fixture.ts # Custom Fixture injecting Page Objects & Data
├── factory/                     # Dynamic test data builders
│   └── {entity}.factory.ts      # Unique data per run (timestamp / Faker)
└── specs/                       # Declarative, readable test specs
    └── {feature}.spec.ts

Основные правила проектирования

  1. Строгое разделение: в файлах *.spec.ts не должно быть прямых локаторов или прямых манипуляций с DOM. Все взаимодействия с UI находятся внутри Page/Component Objects.

  2. Пользовательские фикстуры: внедряйте Page Objects и тестовые данные через test.extend<Fixtures>() вместо ручного создания экземпляров new Page() в spec-файлах.

  3. Фабрики динамических данных: генерируйте уникальные тестовые данные для каждого запуска, чтобы предотвращать конфликты уникальных ограничений в базе данных при повторных запусках тестов.

  4. Семантические локаторы: отдавайте приоритет getByRole > getByLabel / getByPlaceholder > getByText > getByTestId. Глубоко вложенные CSS-селекторы (div > div > span) строго запрещены.

  5. Соглашения о тегах:

    • @smoke: критические happy-path сценарии.

    • @regression: комплексные пользовательские сценарии.

    • @ui: чистые UI/фронтенд-тесты с использованием page.route() для подмены ответов API.

    • @integration: тесты, проверяющие корректность работы с реальными бэкенд-API.


🛠️ Инструменты MCP

Инструмент

Описание

run_playwright_test

Запускает spec-файл Playwright в целевом проекте. Возвращает статус pass/fail, комплексный межфайловый qualityScore и немедленную встроенную диагностику сбоя (точное местоположение, 3–5 предыдущих шагов, ошибки консоли, сетевые сбои, скриншоты).

score_test_quality

Оценивает spec-файл и импортированные им Page Objects по измеримым показателям качества: % semantic locators, плотность утверждений, антипаттерны (waitForTimeout, отсутствие await, индексные локаторы) и предупреждения для конкретных файлов.

get_failure_details

Глубокий диагностический инспектор для повторного изучения деталей конкретного сбоя теста из отчёта предыдущего запуска.

check_playwright_config

Проверяет playwright.config.* на предмет настроек, влияющих на нестабильность (retries, trace, screenshot, forbidOnly, fullyParallel).

set_project_root

Запасной вариант на этапе выполнения: позволяет вручную задать корень целевого проекта, если автоматическое обнаружение неприменимо.


📋 Промпты MCP

  • playwright_e2e_workflow: полный сквозной промпт, инструктирующий ИИ-агентов о доменно-ориентированной архитектуре POM, последовательностях генерации кода (с шага A по шаг E), строгих правилах написания тестов, защищающих от нестабильности, диагностике за один вызов и безопасных сценариях автоисправления.


🚀 Установка и настройка

1. Сборка из исходного кода

git clone https://github.com/your-username/playwright-generate-mcp.git
cd playwright-generate-mcp
npm install
npm run build

2. Настройка MCP-клиента

Добавьте сервер в файл конфигурации MCP (например, claude_desktop_config.json, настройки Cursor или настройки MCP в Antigravity):

{
  "mcpServers": {
    "playwright-generate": {
      "command": "node",
      "args": ["/absolute/path/to/playwright-generate-mcp/dist/index.js"]
    }
  }
}

Или при публикации в NPM:

{
  "mcpServers": {
    "playwright-generate": {
      "command": "npx",
      "args": ["-y", "playwright-generate-mcp"]
    }
  }
}

🧑💻 Разработка

npm run dev     # tsx watch mode
npm run build   # Compile TypeScript to dist/
npm start       # Run compiled MCP server

📄 Лицензия

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI QA that runs your app in a browser on every pull request: projects, test targets, test cases.

  • AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.

  • Playwright selector risk checks with healing suggestions and receipts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baramubarok/playwright-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server