Advanced automated testing and code analysis platform that provides comprehensive GitHub repository analysis and API testing capabilities.
- Code Quality Assessment: Analyze code structure, complexity, and maintainability
- Security Vulnerability Detection: Identify potential security issues
- Performance Analysis: Evaluate code performance and optimization opportunities
- Documentation Review: Check README quality and documentation completeness
- CI/CD Pipeline Analysis: Assess build configurations and workflows
- Visual Reports: Interactive HTML reports with charts and insights
- UI Validation: Automated screenshot capture and repository UI verification
- Automated API Testing: Test REST APIs with various HTTP methods
- Response Validation: Verify status codes, headers, and response data
- Performance Metrics: Measure response times and throughput
- Test Report Generation: Detailed HTML reports with test results
- Multiple Environment Support: Test across different environments
- Interactive Dashboards: Visual representation of analysis results
- Export Capabilities: Download reports in HTML format
- Historical Tracking: View past analysis results
- Email Integration: Send reports via email (Mailjet integration)
- Dark/Light Theme: Toggle between themes
- Responsive Design: Works on desktop and mobile devices
- Real-time Updates: Live progress indicators
- Intuitive Navigation: Easy-to-use interface
- Python 3.8+
- Chrome/Chromium browser (for UI validation)
- Git
-
Clone the repository
git clone <repository-url> cd Autotestify
-
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
cp .env.example .env # Edit .env with your API keys -
Run the application
python app.py
-
Access the application Open http://localhost:5000 in your browser
# Gemini AI API (for code analysis)
GEMINI_API_KEY=your_gemini_api_key
# Email Service (Mailjet)
MAILJET_API_KEY=your_mailjet_api_key
MAILJET_API_SECRET=your_mailjet_secret
MAILJET_SENDER_EMAIL=your_sender_email
MAILJET_SENDER_NAME=AutoTestify
# Flask Configuration
SECRET_KEY=your_secret_key
FLASK_ENV=production- Navigate to GitHub Analysis page
- Enter the repository URL (e.g.,
https://github.com/user/repo) - Click Analyze Repository
- Wait for analysis completion
- View the generated report
- Go to API Testing page
- Enter API endpoint URL
- Select HTTP method (GET, POST, PUT, DELETE)
- Add headers and request body if needed
- Click Test API
- Review test results and performance metrics
- Visit Reports page
- Browse all generated reports
- Click View to open reports in new tab
- Click Download to save reports locally
- Use Delete to remove unwanted reports
Autotestify/
├── app.py # Main Flask application
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── services/ # Core services
│ ├── api_tester.py # API testing functionality
│ ├── gemini_service.py # AI-powered code analysis
│ ├── github_service.py # GitHub integration
│ ├── report_generator.py # Report generation
│ └── email_service.py # Email notifications
├── templates/ # HTML templates
│ ├── base.html
│ ├── index.html
│ ├── github_analysis.html
│ ├── api_testing.html
│ └── reports.html
├── static/ # Static assets
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ └── charts/ # Generated charts
├── reports/ # Generated analysis reports
├── screenshots/ # Repository screenshots
└── dist_protected/ # PyArmor protected version
This project includes PyArmor protection for source code obfuscation:
- Protected Files: Core Python modules are obfuscated
- Runtime Protection: Dynamic code decryption
- Deployment: Use
dist_protected/for production
- Backend: Flask, Python 3.8+
- Frontend: Bootstrap 5, JavaScript, HTML5/CSS3
- AI/ML: Google Gemini API
- Web Automation: Selenium WebDriver
- Email: Mailjet API
- Security: PyArmor code protection
- Charts: Plotly.js with advanced statistical analysis
- Performance: Connection pooling, intelligent caching
- Validation: Comprehensive configuration validation
- Icons: Font Awesome
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit changes (
git commit -am 'Add new feature') - Push to branch (
git push origin feature/new-feature) - Create Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue on GitHub
- Performance Optimization: Enhanced API testing with connection pooling and caching
- Advanced Analytics: 7-tier performance classification with P50-P99 percentiles
- Configuration Validation: Comprehensive config validation with auto-fix capabilities
- Error Handling: Improved error handling with graceful degradation
- Code Quality: Fixed unicode encoding issues and deprecated API parameters
- Security: Enhanced PyArmor protection with updated obfuscation
- Stability: Connection pooling reduces response times by 30-50%
- Caching System: Intelligent file-based caching with 60-90% hit rates
- Initial release
- GitHub repository analysis
- API testing capabilities
- Report generation
- Dark/Light theme support
- PyArmor code protection