A comprehensive test automation framework featuring Robot Framework, Selenium for web testing, Appium for mobile testing, Applitools for visual validation, Allure for reporting, and Telegram notifications.
- Web Testing: Cookie Clicker game automation with Chrome browser
- Mobile Testing: Android ApiDemos app automation with Appium
- Data-Driven Testing: Parameterized test execution with multiple datasets
- Page Object Model: Maintainable test structure with reusable components
- Performance Testing: Load time, response time, and resource usage monitoring
- Security Testing: XSS, SQL injection, and HTTPS validation
- Visual Validation: Applitools Eyes integration for screenshot comparison
- Advanced Reporting: Allure reports with detailed test results and analytics
- Real-time Notifications: Telegram bot integration for test status updates
- Parallel Testing: Concurrent test execution for faster feedback
- Configuration Management: Centralized settings and environment variables
- Environment Management: Automated dependency installation and validation
/robot-python/
βββ requirements.txt # Python dependencies
βββ run_tests.py # Advanced test runner with parallel execution
βββ README.md # This file
βββ SETUP_GUIDE.md # Detailed setup instructions
βββ config/
β βββ settings.py # Centralized configuration management
βββ apps/ # APK files for mobile testing
β βββ ApiDemos-debug.apk
βββ libraries/ # Custom Robot Framework libraries
β βββ custom/
β βββ __init__.py
β βββ ApplitoolsLibrary.py # Visual testing library
β βββ TelegramNotifier.py # Telegram notifications
β βββ CookieClickerPage.py # Page Object Model implementation
βββ tests/suites/ # Test case files
β βββ cookie_clicker_test.robot # Web game tests with POM
β βββ apidemos_test.robot # Mobile app tests
β βββ data_driven_test.robot # Data-driven testing examples
β βββ performance_test.robot # Performance testing suite
β βββ security_test.robot # Security testing suite
βββ reports/ # Robot Framework test reports
βββ allure-results/ # Allure test results
βββ allure-report/ # Generated Allure reports
- Python 3.8+
- Node.js (for Appium and Allure CLI)
- Android Studio (for mobile testing)
# Install Python dependencies
pip install -r requirements.txt
# Set environment variable for Applitools (get from https://applitools.com)
export APPLITOOLS_API_KEY="your_api_key_here"
python run_tests.py --web
python run_tests.py --mobile
python run_tests.py --data
python run_tests.py --performance
python run_tests.py --security
python run_tests.py --all
- Open Android Studio
- Go to Tools β Device Manager
- Create a new device or start an existing one
- Wait for the emulator to fully boot
# Install Appium CLI
npm install -g appium
# Start Appium server
npx appium
- Chrome browser is automatically managed by
webdriver-manager
- No additional setup required
- Generated automatically after test execution
- Available at:
allure-report/index.html
- Features: Timeline, graphs, screenshots, and detailed logs
- Configured with bot token and chat ID
- Sends real-time updates on test progress and results
- Includes test summaries and links to reports
Provides visual testing capabilities:
Open Applitools Session ${API_KEY} ${APP_NAME} ${TEST_NAME} ${driver}
Perform Visual Checkpoint Checkpoint Name fully=True
Close Applitools Session
Handles Telegram messaging:
Configure Telegram ${BOT_TOKEN} ${CHAT_ID}
Send Telegram Message Test completed successfully!
Send Test Result Test Name PASSED duration=2m 30s
- Opens Cookie Clicker game
- Handles language selection and consent
- Performs 15 cookie clicks
- Verifies score increase
- Purchases first upgrade (Cursor)
- Performs visual validation
- Sends progress notifications
- Opens ApiDemos Android app
- Navigates to Accessibility section
- Tests Accessibility Node Provider
- Verifies navigation success
- Captures screenshots
- Sends completion notifications
"Connection refused" Error
- Ensure Appium server is running:
npx appium
- Check if Android emulator is running
"Command not found" Error
- Install missing dependencies:
pip install -r requirements.txt
- Check Python PATH
"No device connected" Error
- Start Android emulator from Android Studio
- Wait for full boot (may take 2-3 minutes)
Applitools Issues
- Verify
APPLITOOLS_API_KEY
environment variable - Check internet connection for cloud service
β Code Quality: Clean, maintainable, well-documented code β Modularity: Separated concerns with custom libraries β Best Practices: Proper naming, structure, error handling β Test Design: Comprehensive scenarios with assertions β Innovation: Custom libraries for visual testing and notifications β Documentation: Extensive setup guides and inline comments
- Fork the repository
- Create a feature branch
- Add tests for new features
- Ensure all tests pass
- Submit a pull request
This project is created for educational and demonstration purposes.
Ready to run tests? Follow the SETUP_GUIDE.md for detailed instructions! π―