Q-Ace Auto
Next-Generation Automation Management System
Q-Ace Auto is a comprehensive web-based platform for managing, executing, and monitoring Pytest/Playwright automation projects. Built with modern technologies and a premium UI, it provides everything you need to streamline your test automation workflow.
✨ Features
🎯 Project Management
- Multi-project workspace support
- Project validation and health checks
- Easy project switching with visual indicators
- Automatic project structure detection
🏗️ Smart Infrastructure Injection
- Automatic pytest configuration (
pytest.ini) - Playwright/Selenium conftest.py generation
- Custom fixtures and utilities injection
- Template-based infrastructure setup
- Support for both Playwright and Selenium frameworks
🎮 Control Center
- Live test execution with real-time terminal streaming
- Interactive test selection (individual tests or full suites)
- Advanced execution options:
- Headless/Headed mode
- Browser selection (Chromium, Firefox, WebKit)
- Verbosity levels (Quiet, Normal, Verbose)
- Run speed control (--slowmo)
- Timeout configuration
- Screen resolution settings
- Parallel execution support
- WebSocket-based live output streaming
- Session management with unique execution IDs
📊 Analytics & Reports
- Comprehensive test execution reports
- Interactive dashboard with statistics
- Test result filtering (Passed/Failed)
- Search functionality for test cases
- Video playback for failed tests
- Trace file generation and viewing
- Duration tracking and performance metrics
- Historical test data visualization with Chart.js
- Export reports to PDF
- Email report delivery
⏰ Scheduler
- Automated test execution scheduling
- Multiple schedule types:
- Daily - Run tests every day at a specific time
- Weekly - Run tests on selected days of the week
- Monthly - Run tests on specific days of the month
- Active/Inactive toggle for schedules
- Schedule management (create, edit, delete)
- Persistent scheduling with APScheduler
🤖 AI Code Helper (Powered by Google Gemini)
- AI-powered test code generation
- Natural language to test code conversion
- Context-aware suggestions based on project structure
- Mock mode available when Gemini API is not configured
- Syntax highlighting with Prism.js
⚙️ Configuration
- Centralized settings management
- Email configuration for report delivery
- Google Gemini API key management
- Persistent settings storage with SQLAlchemy
- Environment variable support
🚀 Installation
Prerequisites
- Python 3.8+ installed and added to PATH
- Git (optional, for cloning the repository)
Windows
-
Clone or download the project:
git clone <repository-url> cd q-ace-auto -
Run the installation script:
install.batThe script will automatically:
- Create a virtual environment (
venv) - Activate the virtual environment
- Upgrade pip
- Install Playwright
- Install all project dependencies
- Create a virtual environment (
Linux/Mac
-
Clone or download the project:
git clone <repository-url> cd q-ace-auto -
Make the installation script executable and run it:
chmod +x install.sh ./install.shThe script will automatically:
- Create a virtual environment (
venv) - Activate the virtual environment
- Upgrade pip
- Install Playwright
- Install all project dependencies
- Create a virtual environment (
🎯 Usage
Running the Application
Windows
-
Activate the virtual environment:
venv\Scripts\activate -
Run the application:
run.bat
Linux/Mac
-
Activate the virtual environment:
source venv/bin/activate -
Run the application:
chmod +x run.sh ./run.sh
Accessing the Web Interface
Once the server is running, open your browser and navigate to:
http://localhost:8030
The application will automatically open the Dashboard where you can:
- Add or select a project
- Set up infrastructure (if needed)
- Run tests from the Control Center
- View reports and analytics
- Configure schedules
- Manage settings
📁 Project Structure
q-ace-auto/
├── app/ # Backend application
│ ├── routers/ # FastAPI route handlers
│ │ ├── projects.py # Project management endpoints
│ │ ├── injector.py # Infrastructure injection endpoints
│ │ ├── tests.py # Test execution endpoints
│ │ ├── reports.py # Report generation endpoints
│ │ ├── scheduler.py # Scheduling endpoints
│ │ ├── settings.py # Settings management endpoints
│ │ └── gemini.py # AI code generation endpoints
│ ├── services/ # Business logic services
│ │ ├── project_validator.py # Project validation logic
│ │ ├── smart_injector.py # Infrastructure injection logic
│ │ ├── test_executor.py # Test execution logic
│ │ ├── report_parser.py # Report parsing logic
│ │ ├── report_generator.py # PDF report generation
│ │ ├── scheduler_service.py # Scheduling service
│ │ ├── email_service.py # Email delivery service
│ │ └── gemini_client.py # Google Gemini API client
│ ├── templates/ # Infrastructure templates
│ │ └── injection/ # pytest/playwright templates
│ ├── database.py # Database initialization
│ ├── models.py # SQLAlchemy models
│ └── main.py # FastAPI application entry point
├── static/ # Frontend assets
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript modules
│ │ ├── core/ # Core utilities (state, API, router)
│ │ ├── modules/ # Feature modules (control, reports, etc.)
│ │ └── app_main.js # Main application entry point
│ ├── views/ # HTML view templates
│ │ ├── home.html # Dashboard view
│ │ ├── setup.html # Infrastructure setup view
│ │ ├── control-center.html # Test execution view
│ │ ├── reports.html # Analytics view
│ │ └── settings.html # Configuration view
│ ├── images/ # Image assets
│ └── index.html # Main HTML shell
├── data/ # Application data
│ └── app.db # SQLite database
├── requirements.txt # Python dependencies
├── install.bat # Windows installation script
├── install.sh # Linux/Mac installation script
├── run.bat # Windows run script
├── run.sh # Linux/Mac run script
└── README.md # This file
🛠 ️ Technologies
Backend
- FastAPI - Modern, fast web framework for building APIs
- SQLAlchemy - SQL toolkit and ORM
- APScheduler - Advanced Python Scheduler for job scheduling
- Uvicorn - ASGI server implementation
- WebSockets - Real-time bidirectional communication
- FPDF2 - PDF report generation
- aiosmtplib - Async SMTP client for email delivery
Frontend
- TailwindCSS - Utility-first CSS framework
- Chart.js - Interactive charts and graphs
- XTerm.js - Terminal emulator in the browser
- Lucide Icons - Beautiful icon library
- Prism.js - Syntax highlighting for code blocks
Testing Frameworks (Managed Projects)
- Pytest - Python testing framework
- Playwright - Browser automation framework
- Selenium - Web browser automation (alternative support)
AI Integration
- Google Gemini - AI-powered code generation (optional)
📚 API Documentation
Once the application is running, you can access the auto-generated API documentation at:
- Swagger UI: http://localhost:8030/docs
- ReDoc: http://localhost:8030/redoc
🎨 UI/UX Features
- Dark Mode - Premium dark theme with glassmorphism effects
- Responsive Design - Works on desktop and tablet devices
- Real-time Updates - WebSocket-based live terminal streaming
- Interactive Charts - Visual representation of test metrics
- Smooth Animations - Polished transitions and micro-interactions
- Accessibility - Semantic HTML and keyboard navigation support
🔧 Configuration
Email Settings
To enable email report delivery:
- Navigate to Configuration in the sidebar
- Enter your SMTP server details:
- SMTP Server (e.g.,
smtp.gmail.com) - SMTP Port (e.g.,
587) - Email Address
- Email Password
- Recipient Email
- SMTP Server (e.g.,
- Click Save Settings
Google Gemini API
To enable AI code generation:
- Obtain a Gemini API key from Google AI Studio
- Navigate to Configuration in the sidebar
- Enter your API key in the Gemini API Key field
- Click Save Settings
Note: If no API key is configured, the system will use mock mode for AI features.
📝 License
This project is developed and maintained by ATID - עתיד האוטומציה.
🤝 Support
For questions, issues, or feature requests, please contact the ATID team.
Built with ❤️ by ATID College