Playwright MCP
🎭 Playwright MCP - ИИ-управляемая автоматизация тестирования (OrangeHRM)
Proof of Concept проект, демонстрирующий автоматизацию браузерного тестирования с помощью ИИ с использованием Playwright, интегрированного с Model Context Protocol (MCP). Тесты написаны на TypeScript с использованием паттерна Page Object Model (POM) и нацелены на демонстрационное приложение OrangeHRM.
📋 Содержание
Related MCP server: MCP Playwright Server
🎯 Обзор
Этот проект демонстрирует, как AI + Playwright могут автоматизировать браузерное тестирование с помощью обычных английских запросов через Model Context Protocol (MCP). Вместо того чтобы писать каждую строку кода автоматизации вручную, вы описываете, что хотите протестировать, на естественном языке, а ИИ помогает генерировать и выполнять автоматизацию.
Ключевые концепции
Компонент | Роль | Аналогия |
LLM (Большая языковая модель) | Понимает запросы и генерирует инструкции | 🧠 Мозг |
Агент | Выполняет задачи автоматически | ⚡ Исполнитель |
MCP (Model Context Protocol) | Связывает ИИ с реальными инструментами (браузеры, API и т.д.) | 🔗 Переводчик |
🏗 Архитектура
Plain English Prompt
│
▼
Large Language Model (LLM)
│
Generates Instructions
│
▼
AI Agent
│
Executes the Instructions
│
▼
Model Context Protocol (MCP)
│
Connects to Real Applications
│
▼
Playwright + Browser
│
▼
Browser Automation💻 Технологический стек
Технология | Назначение |
Playwright ^1.60 | Фреймворк для автоматизации браузера |
Язык программирования | |
Протокол взаимодействия с ИИ | |
Разбор CSV для тестов с данными | |
Node.js | Среда выполнения |
📁 Структура проекта
├── 📂 pages/ # Page Object Model classes
│ ├── LoginPage.ts # Login page locators & actions
│ └── PimPage.ts # PIM module locators & actions
│
├── 📂 tests/ # Test specifications
│ ├── example.spec.ts # Sample Playwright test
│ ├── orangehrm-login-data-driven.spec.ts # Data-driven login (inline)
│ ├── orangehrm-login-data-driven-csv.spec.ts # Data-driven login (CSV)
│ ├── orangehrm-logout.spec.ts # Logout flow test
│ ├── orangehrm-admin-system-users.spec.ts # Admin module test
│ ├── orangehrm-buzz-post.spec.ts # Buzz social feed test
│ ├── pim-search.spec.ts # PIM employee search
│ └── add-employee.spec.ts # Add employee (POM)
│
├── 📂 test_data/ # Test data files
│ └── loginData.csv # CSV test data for login
│
├── 📂 playwright-report/ # HTML test reports
├── 📂 test-results/ # Test execution artifacts
│
├── 📄 playwright.config.ts # Playwright configuration
├── 📄 package.json # Dependencies & scripts
├── 📄 README.md # This file
│
├── 📄 Playwright_MCP_Guide.md # Detailed MCP concepts guide
├── 📄 PlaywrightMCP_Vs_CLI.md # MCP vs CLI comparison
├── 📄 playwright-context.md # MCP test generator context
├── 📄 playwright-context-pom.md # MCP POM test generator context
├── 📄 prompts.md # Sample AI prompts used
└── 📄 notes.md # Architecture & concept notes🧪 Сценарии тестирования
Файл теста | Описание | Паттерн |
| Проверка входа с встроенными данными (допустимые и недопустимые учетные данные) | Data-Driven |
| Проверка входа с использованием источника данных CSV | Data-Driven (CSV) |
| Вход, выход и проверка перенаправления на страницу входа | Линейный |
| Переход в раздел Admin → проверка страницы System Users | Линейный |
| Публикация сообщения в разделе Buzz и проверка его появления | Линейный |
| Поиск сотрудников по имени в модуле PIM | Линейный |
| Добавление нового сотрудника с использованием Page Object Model | POM |
| Стандартный пример Playwright | Линейный |
🚀 Начало работы
Предварительные требования
Установка
# Clone the repository
git clone https://github.com/pavanoltraining/POC_Playwright_MCP_orangehrm.git
# Navigate to the project directory
cd POC_Playwright_MCP_orangehrm
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install chromium▶️ Запуск тестов
Запуск всех тестов
npx playwright testЗапуск конкретного файла тестов
npx playwright test tests/orangehrm-login-data-driven.spec.tsЗапуск тестов в режиме UI
npx playwright test --uiПросмотр HTML-отчёта
npx playwright show-reportЗапуск с режимом отладки
npx playwright test --debug🧩 Page Object Model
Проект использует Page Object Model (POM) для поддерживаемого и переиспользуемого тестового кода.
Пример: LoginPage.ts
export class LoginPage {
readonly usernameInput = page.getByPlaceholder("Username");
readonly passwordInput = page.getByPlaceholder("Password");
readonly loginButton = page.getByRole("button", { name: "Login" });
async login(username: string, password: string) {
await this.usernameInput.fill(username);
await this.passwordInput.fill(password);
await this.loginButton.click();
}
}Пример: PimPage.ts
export class PimPage {
async navigateToPim() {
/* ... */
}
async openAddEmployee() {
/* ... */
}
async addEmployee(firstName: string, lastName: string) {
/* ... */
}
}📊 Тестирование на основе данных
Встроенные данные
Тесты входа в систему с несколькими учетными данными, определенными встроенно:
Логин | Пароль | Ожидаемый результат |
Admin | admin123 | Dashboard |
fakeuser | fakepass | Invalid credentials |
ESSUser1 | ess123 | Invalid credentials |
Данные из CSV
Тесты читают тестовые случаи из test_data/loginData.csv:
Username,Password,Expected
Admin,admin123,Dashboard
fakeuser,fakepass,Invalid credentials
ESSUser1,ess123,Invalid credentials🤖 Playwright MCP и Playwright CLI
Возможность | Playwright CLI | Playwright MCP |
Назначение | Мост между ИИ и Playwright | Мост между ИИ и браузером |
Используется | Разработчиками и тестировщиками | ИИ-агентами |
Управление | Терминальные команды | Естественный язык |
Требуется писать код | Да | Минимально |
Генерация кода | Нет | Да (с помощью ИИ) |
Автоматизация ИИ | Нет | Да |
🌐 Ресурсы
Этот проект создан с ❤️ с использованием Playwright + MCP + AI
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables browser automation and web page interaction through Playwright's accessibility tree, allowing LLMs to navigate, fill forms, click elements, and extract content without requiring vision models or screenshots.4,588,713Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control web browsers through Playwright automation, providing 50+ tools for navigation, interaction, testing, accessibility audits, and visual testing across Chromium, Firefox, and WebKit.10MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to execute browser automation, perform QA tasks, and generate test code through natural language commands using Playwright.5
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to drive Playwright-based browser automation for UI testing, returning JSON/HTML reports with screenshots without server-side LLM or test scripts.MIT
Related MCP Connectors
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Browser-backed QA with evidence and fix-ready reports for coding agents.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/pavanoltraining/POC_Playwright_MCP_orangehrm'
If you have feedback or need assistance with the MCP directory API, please join our Discord server