Professional Web Automation and Testing Framework with ML-Powered Test Generation
Project description
🚁 WebPilot
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:
- Basic Automation - Getting started with WebPilot
- Test Generation - ML-powered test creation
- Cloud Testing - Cross-browser testing
- CI/CD Integration - Pipeline setup
- Performance Testing - Lighthouse and metrics
- Visual Testing - Screenshot comparison
- Accessibility Testing - WCAG compliance
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
- Documentation: https://webpilot.readthedocs.io
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: webpilot@example.com
🌟 Star History
Made with ❤️ by the WebPilot Team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fb7e6a45690957179e4ca8688f737a80a9b16e2c89ce3b566ca6c473af593cb
|
|
| MD5 |
b19a7adb02729729e6952a7e416d055e
|
|
| BLAKE2b-256 |
5026815e85d6d31db96b747ba232c1a9ba68ac6e3ac588553eb1a2eafbafb3e5
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a23cf9d6b35a7e7f1e5a901fc4cabb1d1f917d60a79f1b17f658999e93d9452
|
|
| MD5 |
faad9544e0a01a7716fefa46723a88e5
|
|
| BLAKE2b-256 |
ac970b547daddd4403b059d1659d130c7dbda64a950ae23e53700eb77ebbcdfc
|