MCP Test Automation Framework
Automatically commits and pushes test run results to a GitHub repository.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Test Automation Frameworkrun the google search test and check in the results to GitHub"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π€ MCP Test Automation Framework
SQA Test Automation powered by Claude/Deepseek AI with self-healing locators and auto GitHub checkin
ποΈ Architecture
mcp-automation/
βββ src/
β βββ mcp/ # MCP Server (connects AI to browser)
β β βββ mcp-server.ts # MCP tool definitions & handlers
β β βββ index.ts
β βββ core/ # Core modules
β β βββ browser-manager.ts # Playwright browser lifecycle
β β βββ config.ts # Settings loader
β β βββ logger.ts # Logging utility
β βββ healing/ # Self-Healing Engine
β β βββ locator-healer.ts # Alternative locator strategies
β βββ scripts/ # Utility scripts
β β βββ git-auto-checkin.ts # Auto commit & push to GitHub
β βββ tests/ # Test definitions
β β βββ types.ts
β β βββ google-search.ts
β βββ mcp-server-entry.ts # MCP server entry point
β βββ runner.ts # Direct test runner
βββ config/
β βββ settings.json # Framework configuration
βββ logs/ # Run logs & screenshots
βββ .github/workflows/ # CI/CD pipeline
βββ package.json
βββ tsconfig.json
βββ README.mdRelated MCP server: LocatorLabs MCP Server
π How It Works
1. AI (Claude/Deepseek) calls MCP tool
β
βΌ
2. Playwright executes browser action
β
βΌ
3. Element not found?
β
βΌ
4. Self-Healing Engine kicks in
βββββββββββββββββββββββββββββββ
β Tries: role β text β β
β placeholder β label β testIdβ
β β CSS β XPath β aria-label β
βββββββββββββββββββββββββββββββ
β
βΌ
5. Found? β Logs healing action, proceeds
Not found? β Screenshot, reports failure
β
βΌ
6. GitHub Auto Checkin
βββββββββββββββββββββββββββββββ
β Creates branch β
β test-run/<name>-<timestamp> β
β Stages & commits all files β
β Pushes to remote β
βββββββββββββββββββββββββββββββπ Quick Start
1. Install dependencies
npm install
npx playwright install chromium2. Configure
Edit config/settings.json:
Set AI provider and API keys (via env vars)
Configure browser options
Set GitHub remote URL
3. Set API Keys (optional β for AI features)
set ANTHROPIC_API_KEY=sk-ant-... # For Claude
set DEEPSEEK_API_KEY=sk-... # For Deepseek4. Run tests directly
npm run dev5. Start MCP Server (for AI assistant connection)
npm run mcp-serverThen connect your AI assistant (Claude/Deepseek) to this MCP server.
π οΈ MCP Tools Available to AI
Tool | Description |
| Navigate to a URL |
| Click an element (with self-healing) |
| Type text into fields (with self-healing) |
| Get element text (with self-healing) |
| Wait for element to appear |
| Capture page screenshot |
| Press keyboard keys |
| Execute a full test case |
| Commit & push to GitHub |
| View self-healing stats |
π§ͺ Self-Healing
When a locator fails, the engine tries these strategies in order:
getByRoleβ Find by ARIA rolegetByTextβ Find by text contentgetByPlaceholderβ Find by placeholder attributegetByLabelβ Find by associated labelgetByTestIdβ Find bydata-testidCSS selector β Try original selector as CSS
CSS alternatives β e.g.,
textareaβinput, attribute variations[aria-label]β Find by aria-label attribute
All healing actions are logged to logs/healing-log.json.
π€ GitHub Auto Checkin
After each test run, the framework automatically:
Creates a new branch:
test-run/<test-name>-<timestamp>Stages all changed files (tests, logs, screenshots)
Commits with descriptive message
Pushes to remote
π§ Configuration
See config/settings.json for all options:
Section | Key | Description |
|
|
|
|
|
|
|
| Enable/disable self-healing |
|
| Max healing attempts per locator |
|
| Enable auto commit/push |
|
|
|
π License
MIT
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.
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/rabbiyamehmood/mcp-test'
If you have feedback or need assistance with the MCP directory API, please join our Discord server