Skip to main content

Professional Web Automation and Testing Framework with ML-Powered Test Generation

Project description

🚁 WebPilot

Python Version Code style: black License: MIT Documentation Status Coverage Status

Professional Web Automation and Testing Framework with ML-Powered Test Generation

WebPilot is a comprehensive web automation framework that combines browser automation, intelligent test generation, and seamless CI/CD integration. Built for developers who need reliable, maintainable, and intelligent testing solutions.

✨ Key Features

  • 🌐 Multi-Backend Support: Selenium, Playwright, and async HTTP operations
  • 🤖 MCP Integration: Full Model Context Protocol support for AI assistant integration
  • 🧠 ML-Powered Test Generation: Automatically learn and generate tests from user interactions
  • ☁️ Cloud Testing: Native support for BrowserStack, Sauce Labs, LambdaTest
  • 🚀 CI/CD Ready: Pre-built templates for GitHub Actions, GitLab, Jenkins, and more
  • 📊 Advanced Reporting: Beautiful HTML reports with charts and visualizations
  • 🔍 Smart Waiting: Intelligent wait strategies that adapt to your application
  • Accessibility Testing: Built-in WCAG compliance checking
  • 🎯 Visual Testing: Screenshot comparison and OCR capabilities
  • Performance Testing: Lighthouse integration and custom metrics
  • 🔒 Security Scanning: Basic security audit capabilities

🚀 Quick Start

Installation

# Basic installation
pip install webpilot

# With all features
pip install webpilot[all]

# Specific features
pip install webpilot[selenium]   # Selenium backend
pip install webpilot[vision]     # OCR and visual testing
pip install webpilot[ml]         # Machine learning features
pip install webpilot[cloud]      # Cloud testing platforms

Basic Usage

from webpilot import WebPilot

# Simple browser automation
with WebPilot() as pilot:
    pilot.start("https://example.com")
    pilot.click(text="Login")
    pilot.type_text("username", selector="#email")
    pilot.type_text("password", selector="#password")
    pilot.click(selector="button[type='submit']")
    pilot.screenshot("login_success.png")

Intelligent Test Generation

from webpilot.ml import IntelligentTestGenerator

# Learn from manual testing
generator = IntelligentTestGenerator()
patterns = generator.learn_from_session("manual_test_session.json")

# Generate test code
generator.export_tests("generated_tests/", language="python")

Cloud Testing

from webpilot.cloud import CloudWebPilot, CloudConfig, CloudProvider

config = CloudConfig(
    provider=CloudProvider.BROWSERSTACK,
    username="your_username",
    access_key="your_key",
    project_name="My Test Suite"
)

with CloudWebPilot(config, browser="chrome", os_name="Windows", os_version="11") as pilot:
    pilot.start("https://myapp.com")
    # Your test steps here
    pilot.mark_test_status(passed=True)

AI Assistant Integration (MCP)

WebPilot includes full Model Context Protocol (MCP) support for seamless AI assistant integration:

# MCP is automatically available for AI assistants
from webpilot import MCP_AVAILABLE

if MCP_AVAILABLE:
    print("MCP support is enabled!")
    # AI assistants can now control WebPilot through MCP protocol

For Claude Desktop users, add to your MCP configuration:

{
  "mcpServers": {
    "webpilot": {
      "command": "python",
      "args": ["-m", "webpilot.mcp.run_server"]
    }
  }
}

See MCP Integration Guide for full details.

📚 Documentation

Examples

Check the examples/ directory for complete examples:

Guides

🏗️ Architecture

webpilot/
├── core/           # Core framework and session management
├── backends/       # Browser automation backends (Selenium, Playwright, Async)
├── ml/            # Machine learning test generation
├── cloud/         # Cloud testing platform integrations
├── features/      # Advanced features (vision, DevOps, accessibility)
├── utils/         # Utilities (smart wait, reporting, helpers)
├── monitoring/    # Real-time monitoring and dashboards
└── cicd/          # CI/CD template generation

🧪 Testing

# Run tests
pytest tests/

# With coverage
pytest tests/ --cov=webpilot --cov-report=html

# Run specific test categories
pytest tests/unit/
pytest tests/integration/
pytest tests/e2e/

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone the repository
git clone https://github.com/yourusername/webpilot.git
cd webpilot

# Install in development mode
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

# Run code formatters
black src/ tests/
isort src/ tests/

# Run linters
flake8 src/ tests/
mypy src/

Code Style

  • We use Black for code formatting
  • We use isort for import sorting
  • We follow PEP 8 style guide
  • All code must have type hints (PEP 484)
  • All public functions must have docstrings (Google style)

📊 Performance

WebPilot is designed for speed and efficiency:

  • Smart Wait: Reduces test time by up to 40% with intelligent waiting
  • Parallel Execution: Run tests concurrently across multiple browsers
  • Caching: Session and element caching for faster execution
  • Lazy Loading: Load features only when needed

🛡️ Security

WebPilot takes security seriously:

  • No credentials stored in code
  • Environment variable support for sensitive data
  • Secure cloud provider integrations
  • Regular dependency updates

📝 License

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

🙏 Acknowledgments

  • Selenium WebDriver team for the excellent browser automation
  • Playwright team for modern browser automation
  • scikit-learn team for ML capabilities
  • The open source community for continuous inspiration

🗺️ Roadmap

  • Docker container support
  • Kubernetes integration for distributed testing
  • Enhanced ML models for test generation
  • GraphQL API testing support
  • Mobile browser testing
  • Advanced performance profiling
  • Integration with more cloud providers

💬 Support

🌟 Star History

Star History Chart


Made with ❤️ by the WebPilot Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_webpilot-1.2.0.tar.gz (73.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_webpilot-1.2.0-py3-none-any.whl (83.0 kB view details)

Uploaded Python 3

File details

Details for the file claude_webpilot-1.2.0.tar.gz.

File metadata

  • Download URL: claude_webpilot-1.2.0.tar.gz
  • Upload date:
  • Size: 73.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Linux/6.16.1

File hashes

Hashes for claude_webpilot-1.2.0.tar.gz
Algorithm Hash digest
SHA256 6fb7e6a45690957179e4ca8688f737a80a9b16e2c89ce3b566ca6c473af593cb
MD5 b19a7adb02729729e6952a7e416d055e
BLAKE2b-256 5026815e85d6d31db96b747ba232c1a9ba68ac6e3ac588553eb1a2eafbafb3e5

See more details on using hashes here.

File details

Details for the file claude_webpilot-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: claude_webpilot-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 83.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Linux/6.16.1

File hashes

Hashes for claude_webpilot-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a23cf9d6b35a7e7f1e5a901fc4cabb1d1f917d60a79f1b17f658999e93d9452
MD5 faad9544e0a01a7716fefa46723a88e5
BLAKE2b-256 ac970b547daddd4403b059d1659d130c7dbda64a950ae23e53700eb77ebbcdfc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page