Skip to main content
Glama

🎭 Playwright MCP - KI-gestützte Testautomatisierung (OrangeHRM)

Playwright TypeScript MCP OrangeHRM

Ein Proof-of-Concept-Projekt, das KI-gestützte Browser-Testautomatisierung mit Playwright demonstriert, integriert mit dem Model Context Protocol (MCP). Die Tests sind in TypeScript unter Verwendung des Page Object Model (POM)-Entwurfsmusters geschrieben und zielen auf die OrangeHRM-Demoanwendung ab.


📋 Inhaltsverzeichnis


Related MCP server: MCP Playwright Server

🎯 Überblick

Dieses Projekt zeigt, wie KI + Playwright Browser-Tests mithilfe von einfachen englischen Eingabeaufforderungen über das Model Context Protocol (MCP) automatisieren kann. Anstatt jede Zeile Automatisierungscode manuell zu schreiben, beschreibst du in natürlicher Sprache, was du testen möchtest, und die KI hilft, die Automatisierung zu generieren und auszuführen.

Kernkonzepte

Komponente

Rolle

Analogie

LLM (Large Language Model)

Versteht Anfragen & generiert Anweisungen

🧠 Gehirn

Agent

Führt Aufgaben automatisch aus

⚡ Ausführender

MCP (Model Context Protocol)

Verbindet KI mit echten Tools (Browser, APIs usw.)

🔗 Übersetzer


🏗 Architektur

           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

💻 Technologie-Stack

Technologie

Zweck

Playwright ^1.60

Browser-Automatisierungsframework

TypeScript

Programmiersprache

MCP

KI-zu-Tool-Kommunikationsprotokoll

csv-parse

CSV-Parsing für datengesteuerte Tests

Node.js

Laufzeitumgebung


📁 Projektstruktur

├── 📂 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

🧪 Testszenarien

Testdatei

Beschreibung

Muster

orangehrm-login-data-driven.spec.ts

Login-Validierung mit Inline-Daten (gültige + ungültige Anmeldedaten)

Datengesteuert

orangehrm-login-data-driven-csv.spec.ts

Login-Validierung mit CSV-Datenquelle

Datengesteuert (CSV)

orangehrm-logout.spec.ts

Anmelden, Abmelden und Weiterleitung zur Anmeldeseite überprüfen

Linear

orangehrm-admin-system-users.spec.ts

Navigieren zu Admin → Systembenutzer-Seite überprüfen

Linear

orangehrm-buzz-post.spec.ts

Nachricht im Buzz-Feed veröffentlichen und deren Erscheinen überprüfen

Linear

pim-search.spec.ts

Mitarbeiter nach Namen im PIM-Modul suchen

Linear

add-employee.spec.ts

Neuen Mitarbeiter mit Page Object Model hinzufügen

POM

example.spec.ts

Standard-Playwright-Beispieltest

Linear


🚀 Erste Schritte

Voraussetzungen

Installation

# 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

▶️ Tests ausführen

Alle Tests ausführen

npx playwright test

Eine bestimmte Testdatei ausführen

npx playwright test tests/orangehrm-login-data-driven.spec.ts

Tests im UI-Modus ausführen

npx playwright test --ui

HTML-Bericht anzeigen

npx playwright show-report

Mit Debug-Modus ausführen

npx playwright test --debug

🧩 Page Object Model

Das Projekt verwendet das Page Object Model (POM)-Entwurfsmuster für wartbaren und wiederverwendbaren Testcode.

Beispiel: 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();
  }
}

Beispiel: PimPage.ts

export class PimPage {
  async navigateToPim() {
    /* ... */
  }
  async openAddEmployee() {
    /* ... */
  }
  async addEmployee(firstName: string, lastName: string) {
    /* ... */
  }
}

📊 Datengesteuertes Testen

Inline-Datengesteuert

Tests führen die Anmeldung mit mehreren Inline definierten Anmeldedaten durch:

Benutzername

Passwort

Erwartetes Ergebnis

Admin

admin123

Dashboard

fakeuser

fakepass

Ungültige Anmeldedaten

ESSUser1

ess123

Ungültige Anmeldedaten

CSV-Datengesteuert

Tests lesen Testfälle aus test_data/loginData.csv:

Username,Password,Expected
Admin,admin123,Dashboard
fakeuser,fakepass,Invalid credentials
ESSUser1,ess123,Invalid credentials

🤖 Playwright MCP vs. Playwright CLI

Funktion

Playwright CLI

Playwright MCP

Zweck

Befehlszeilentool für Playwright

KI-Brücke zwischen LLM und Playwright

Verwendet von

Entwickler & Tester

KI-Agenten

Eingabe

Terminalbefehle

Eingabeaufforderungen in natürlicher Sprache

Browsersteuerung

Direkt über Playwright-Skripte

Über KI + MCP-Server

Erfordert Programmierung

Ja

Minimale Programmierung

Generiert Code

Nein

Ja (KI-generiert)

Führt Tests aus

Ja

Ja

Verwendet Accessibility Tree

Nein

Ja

Unterstützt KI-Automatisierung

Nein

Ja

Am besten geeignet für

Traditionelle Automatisierung

KI-gestützte Automatisierung


📚 Ressourcen


📄 Lizenz

Dieses Projekt dient ausschließlich Bildungs- und Demonstrationszwecken.


Mit ❤️ erstellt mit Playwright + MCP + KI

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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,713
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    10
    MIT

View all related MCP servers

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.

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/pavanoltraining/POC_Playwright_MCP_orangehrm'

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