Test Automator

by iamsnh01

Not rated
GitHub

About

An LLM-powered server for automating unit, integration, E2E, and API tests.

Details

Author
iamsnh01
Categories
Developer Tools

Setup

Install Test Automator in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/iamsnh01/test-automator

Follow the installation instructions in the repository README, then restart your MCP client.

A comprehensive, intelligent, and extensible testing automation platform powered by Large Language Models. Test Automator streamlines the process of generating, executing, and analyzing various types of software tests (unit, integration, end-to-end, API) for both web UI and backend logic.

- Intelligent Analysis: Automatically analyzes your codebase to understand structure and dependencies
- Smart Test Cases: Generates comprehensive test scenarios including edge cases and error conditions
- Context-Aware: Understands your code patterns and generates idiomatic tests
- Multi-Language Support: Optimized for Python with extensible architecture

- Analyzes individual functions, methods, and classes
- Generates pytest test functions with proper fixtures
- Includes positive, negative, and edge case scenarios
- Handles both sync and async code patterns

- Tests interactions between different modules and services
- Simulates real component interactions
- Uses appropriate mocking strategies
- Tests configuration and initialization flows

- Browser automation using Playwright and browser-use
- Simulates real user interactions
- Tests complete user workflows
- Captures screenshots and generates visual reports

- Comprehensive HTTP endpoint testing
- Request/response validation
- Authentication and authorization testing
- Performance and timeout testing

- LLM-Enhanced Analysis: AI-powered insights from test results
- Multi-Format Support: XML, JSON, and HTML report parsing
- Actionable Recommendations: Specific suggestions for improvement
- Risk Assessment: Identifies critical areas needing attention

- Python 3.11+
- Google API Key(for Gemini LLM)
- Claude CodeorCursorwith MCP support
- Git

# Clone the repository git clone https://github.com/your-repo/test-automator.git cd test-automator # Create virtual environment python -m venv .venv .venv\\Scripts\\activate # Windows # or source .venv/bin/activate # WSL/Linux # Install dependencies pip install -e . # Install Playwright browsers playwright install
# Clone and setup git clone https://github.com/your-repo/test-automator.git cd test-automator # Create virtual environment python3.11 -m venv .venv source .venv/bin/activate # Install dependencies pip install -e . # Install Playwright browsers playwright install

- VisitGoogle AI Studio
- Create a new API key
- Set environment variable:

# Windows set GOOGLE_API_KEY=your_api_key_here # Linux/macOS/WSL export GOOGLE_API_KEY=your_api_key_here
claude mcp add test-automator "/path/to/test-automator/.venv/bin/test-automator" -e "GOOGLE_API_KEY=your_api_key"

Add to your Claude Code configuration (~/.claude.json):

{ "projects": { "/your/project/path": { "mcpServers": { "test-automator": { "type": "stdio", "command": "/path/to/test-automator/.venv/bin/test-automator", "env": { "GOOGLE_API_KEY": "your_api_key_here" } } } } } }

- Windows:C:/path/to/test-automator/.venv/Scripts/test-automator.exe
- WSL:/home/username/test-automator/.venv/bin/test-automator

generate_tests(code_path, test_type="all")

Generate intelligent tests for your codebase:

# Generate all test types generate_tests("/path/to/your/code", "all") # Generate specific test type generate_tests("/path/to/your/api.py", "unit") generate_tests("/path/to/your/project", "integration") generate_tests("/path/to/your/webapp", "e2e") generate_tests("/path/to/your/api", "api")

run_tests(test_type="all", target_path="tests/")

# Run all tests run_tests("all", "/path/to/tests") # Run specific test type run_tests("unit", "/path/to/tests")

Get LLM-powered insights from test results:

analyze_test_report("/path/to/test_results.xml")
# 1. Generate comprehensive tests generate_tests("/home/user/my-project", "all") # 2. Run the tests run_tests("all", "/home/user/my-project/tests") # 3. Analyze results analyze_test_report("/home/user/my-project/tests/results/unit_results.xml")

Large Codebase Support (100k-200k lines)

- Modular Analysis: Processes code in manageable chunks
- Incremental Testing: Generates tests incrementally for better performance
- Parallel Execution: Supports pytest-xdist for parallel test runs
- Smart Filtering: Focuses on testable units to avoid overwhelming LLM

- Windows Native: Full support with proper path handling
- WSL Integration: Seamless Windows Subsystem for Linux support
- Linux/macOS: Native Unix support
- Event Loop Handling: Platform-specific async optimizations

- Async Operations: Non-blocking test execution
- Batch Processing: Efficient handling of multiple test files
- Resource Management: Proper cleanup and memory management
- Timeout Handling: Configurable timeouts for different test types

test-automator/ ├── test_automator/ │ ├── __init__.py │ ├── mcp_server.py # Main MCP server with tools │ ├── test_generator.py # LLM-powered test generation │ ├── test_runner.py # Cross-platform test execution │ └── report_analyzer.py # AI-enhanced report analysis ├── pyproject.toml # Package configuration └── README.md # This file
# Set the environment variable export GOOGLE_API_KEY="your_api_key_here" # Or add to shell profile echo 'export GOOGLE_API_KEY="your_api_key"' >> ~/.bashrc

"Playwright browsers not found"

# Install browsers playwright install # Install system dependencies (Linux) playwright install-deps
# Ensure script execution is enabled Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # Check virtual environment activation .venv\\Scripts\\activate
# Install X11 server for Windows # Add to ~/.bashrc: export DISPLAY=:0.0

- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request

This project is licensed under the MIT License - see theLICENSEfile for details.

- Gemini LLM: Google's powerful language model for intelligent test generation
- Playwright: Cross-browser automation framework
- pytest: Robust Python testing framework
- MCP Protocol: Model Context Protocol for seamless AI integration
- Claude Code: AI-powered development environment

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Help agents automatically write and test stories for your UI components

Six read-only decision tools for coding agents to assess GitHub bounties, audit agent instructions, diagnose GitHub Actions failures and flakes, and detect MCP tool drift. Remote Streamable HTTP

AI-Safe Code Analysis with 113+ MCP tools for guard validation, memory, workflow, and testing.

fable-discipline is a Claude Code plugin that makes agentic software work follow repeatable working patterns: design before code, verify after edits, separate author from reviewer, preserve verified state between sessions, and report uncertainty honestly.

MCP server that generates production-grade engineering standards (SOLID, testing, architecture, CI/CD) for AI coding assistants

Execute JavaScript code in a modern runtime environment with support for various built-in modules.

Provides a secure JavaScript execution environment for running code snippets.

A server for JavaScript/TypeScript development with intelligent project tooling and testing capabilities.

Execute code securely in isolated sandbox environments using the E2B API.

A powerful Model Context Protocol (MCP) server that supercharges your Python development workflow with AI-powered code review, intelligent test generation, and comprehensive test execution.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.