A comprehensive boilerplate repository for various automation testing frameworks and tools. This repository provides ready-to-use templates and utilities for web, mobile, and API testing using popular automation frameworks.
- Multi-Framework Support: Selenium, Appium, Playwright, and Robot Framework
- Python & TypeScript: Support for both Python and TypeScript/JavaScript
- Utility Libraries: Reusable components for common automation tasks
- Test Reporting: HTML reports with pytest-html integration
- Cross-Platform: Works on Windows, macOS, and Linux
- Page Object Model: Structured test architecture patterns
Automation-Boilerplate/
βββ AppiumTest/ # Mobile app testing with Appium
βββ PlaywrightTest/ # Web testing with Playwright (TypeScript)
βββ SeleniumTest/ # Web testing with Selenium (Python)
βββ RobotFrameworkTest/ # Keyword-driven testing with Robot Framework
βββ PyUtils/ # Python utility classes and helpers
β βββ Appium/ # Appium-specific utilities
β βββ Selenium/ # Selenium-specific utilities
βββ reports/ # Test execution reports
βββ requirements.txt # Python dependencies
βββ pytest.ini # pytest configuration
βββ README.md
- Location:
SeleniumTest/ - Purpose: Web browser automation
- Features: Cross-browser testing, page object model, pytest integration
- Location:
AppiumTest/ - Purpose: Mobile application testing (iOS/Android)
- Features: Native, hybrid, and web mobile app testing
- Location:
PlaywrightTest/ - Purpose: Modern web testing framework
- Features: Auto-wait, browser contexts, parallel execution
- Location:
RobotFrameworkTest/ - Purpose: Keyword-driven testing
- Features: Human-readable test cases, extensive library ecosystem
- Python 3.8+
- pip (Python package manager)
- Node.js 14+
- npm or yarn
- Android SDK (for Android testing)
- Xcode (for iOS testing on macOS)
- Appium Server
git clone <repository-url>
cd Automation-Boilerplatepip install -r requirements.txtcd PlaywrightTest
npm install
npx playwright installRobot Framework dependencies are included in requirements.txt.
# Run all Selenium tests
pytest SeleniumTest/
# Run specific test file
pytest SeleniumTest/test_01.py
# Run with HTML report
pytest SeleniumTest/ --html=reports/selenium-report.html# Ensure Appium server is running first
pytest AppiumTest/
# Run specific test
pytest AppiumTest/test_app_01.pycd PlaywrightTest
# Run all tests
npx playwright test
# Run tests with UI mode
npx playwright test --ui
# Generate test code
npx playwright codegen https://example.com# Run all Robot Framework tests
robot RobotFrameworkTest/Tests/
# Run specific test file
robot RobotFrameworkTest/Tests/test.robot
# Run with custom output directory
robot --outputdir reports RobotFrameworkTest/Tests/The PyUtils package contains reusable components:
person.py: Person data model for test dataaddress.py: Address data model for test dataSelenium/: Selenium-specific utilities (login, logout)Appium/: Appium-specific utilities (login, logout)
- HTML reports are generated in the
reports/directory - Configure in
pytest.inifile - Includes test results, logs, and screenshots
- Built-in HTML reporter
- Trace viewer for debugging
- Screenshot and video capture on failures
- log.html, report.html, and output.xml files
- Detailed execution logs with screenshots
[pytest]
addopts = --html=reports/test-report.html --self-contained-html
testpaths =
AppiumTest
SeleniumTest
python_files = test_*.pyLocated in PlaywrightTest/playwright.config.ts - configure browsers, timeouts, and reporters.
# Run in headed mode
npx playwright test --headed
# Debug mode
npx playwright test --debug
# Trace viewer
npx playwright show-trace trace.zip# Verbose output
pytest -v
# Stop on first failure
pytest -x
# Run specific test method
pytest SeleniumTest/test_01.py::test_method_name