Scalable automation framework supporting UI and API testing using Selenium WebDriver, Java, TestNG, Cucumber BDD, Rest Assured, and Selenium Grid with Docker for parallel and cross-browser execution.
- UI automation using Selenium WebDriver
- API automation using Rest Assured
- Selenium Grid 4 integration
- Docker-based browser execution
- Parallel test execution
- Cross-browser testing (Chrome, Firefox, Edge)
- Page Object Model (POM) design
- TestNG + Cucumber BDD support
- Reusable utilities and helper classes
- Thread-safe driver management
- CI/CD ready framework
- Clean and scalable project architecture
- Enterprise-level reporting and logging
✔ UI + API Automation in a Single Framework
✔ Selenium Grid 4 with Docker Support
✔ Parallel & Cross-Browser Execution
✔ ThreadLocal WebDriver Management
✔ Page Object Model (POM)
✔ TestNG + Cucumber BDD
✔ Config-Driven Execution
✔ Request & Response Specifications
✔ JSON Schema Validation
✔ Positive & Negative API Testing
✔ Reusable Utility Classes
✔ Screenshot Capture on Failure
✔ Enterprise Reporting & Logging
✔ Jenkins CI Integration
✔ GitHub Actions CI/CD
✔ Scalable & Maintainable Framework Design
Test Layer
↓
Page Objects
↓
Reusable Utilities
↓
Driver Factory
↓
Selenium Grid (Docker)
↓
Chrome | Firefox | Edge
API Layer (Rest Assured)
↓
Request/Response Specifications
↓
Schema Validation
↓
Reporting
Make sure you have installed:
- Java 11+
- Maven
- Docker Desktop
- Chrome Browser
- Firefox Browser
- Microsoft Edge Browser
- IntelliJ IDEA / Eclipse
git clone https://github.com/pnilava03/AutomationUIAndAPI.gitmvn clean installmvn testmvn test -Dsurefire.suiteXmlFiles=src/test/resources/xmlFiles/smoke.xmldocker compose up -dOpen:
http://localhost:4444/ui
Verify that Chrome, Firefox, and Edge nodes are available.
docker compose downThe framework supports parallel execution through:
- Selenium Grid 4
- Docker Containers
- TestNG Parallel Execution
- ThreadLocal WebDriver Management
Supported browsers:
- Chrome
- Firefox
- Edge
- REST Assured
- Request Specification
- Response Specification
- JSON Schema Validation
- Authentication Handling
- Positive and Negative API Testing
- Reusable API Utilities
Framework can be integrated with:
- Jenkins
- GitHub Actions
- Docker-based Execution Pipelines
- Supports UI + API Automation in a single project
- Dockerized Selenium Grid support
- Cross-browser execution
- Parallel execution capability
- Scalable architecture
- Maintainable framework design
- Enterprise-ready implementation
- CI/CD friendly
This framework supports local execution, Selenium Grid execution, Dockerized execution, and CI/CD integration through GitHub Actions and Jenkins.
The execution behavior can be controlled through config.properties.
Supported modes:
- local
- grid
- docker
executionMode=docker
browser=chrome
gridUrl=http://localhost:4444
headless=falseCode Push from Eclipse / Git
↓
GitHub Repository
↓
GitHub Actions Triggered
↓
Build + Test Execution
↓
Docker Selenium Grid Started
↓
Tests Run on Chrome / Firefox / Edge
↓
Reports Generated
Code Push from Eclipse / Git
↓
GitHub Repository
↓
GitHub Webhook
↓
Jenkins Pipeline Triggered
↓
Docker Grid Started
↓
Maven Test Execution
↓
Reports Generated
- Local Execution
- Selenium Grid Execution
- Dockerized Browser Execution
- Parallel Test Execution
- Cross Browser Testing
- GitHub Actions Integration
- Jenkins Pipeline Integration
- Config Driven Execution
• Reduced regression execution time by approximately 60%.
• Improved automation coverage from approximately 40% to 80%.
• Enabled unattended regression execution using Selenium Grid with Docker.
• Supported CI/CD pipelines using Jenkins and GitHub Actions.
• Improved release confidence through automated UI and API validation.
• Designed a scalable automation framework suitable for enterprise web applications.
- Selenium WebDriver
- Java
- TestNG
- Cucumber BDD
- REST Assured
- Selenium Grid
- Docker
- Jenkins
- GitHub Actions
- API Testing
- CI/CD Integration
Nilava Pal Lead SDET | Senior QA Automation Engineer