Skip to content

pnilava03/AutomationUIAndAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UI + API Automation Framework (Selenium + Rest Assured + Docker Grid)

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.


Features

  • 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

⭐ Framework Highlights

✔ 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

Architecture

Test Layer
    ↓
Page Objects
    ↓
Reusable Utilities
    ↓
Driver Factory
    ↓
Selenium Grid (Docker)
    ↓
Chrome | Firefox | Edge

API Layer (Rest Assured)
    ↓
Request/Response Specifications
    ↓
Schema Validation
    ↓
Reporting

Prerequisites

Make sure you have installed:

  • Java 11+
  • Maven
  • Docker Desktop
  • Chrome Browser
  • Firefox Browser
  • Microsoft Edge Browser
  • IntelliJ IDEA / Eclipse

Quick Start

Clone Repository

git clone https://github.com/pnilava03/AutomationUIAndAPI.git

Install Dependencies

mvn clean install

Running Tests

Run Complete Test Suite

mvn test

Run Smoke Suite

mvn test -Dsurefire.suiteXmlFiles=src/test/resources/xmlFiles/smoke.xml

Selenium Grid with Docker

Start Grid

docker compose up -d

Verify Grid

Open:

http://localhost:4444/ui

Verify that Chrome, Firefox, and Edge nodes are available.

Stop Grid

docker compose down

Parallel Execution

The framework supports parallel execution through:

  • Selenium Grid 4
  • Docker Containers
  • TestNG Parallel Execution
  • ThreadLocal WebDriver Management

Supported browsers:

  • Chrome
  • Firefox
  • Edge

API Automation Features

  • REST Assured
  • Request Specification
  • Response Specification
  • JSON Schema Validation
  • Authentication Handling
  • Positive and Negative API Testing
  • Reusable API Utilities

CI/CD Integration

Framework can be integrated with:

  • Jenkins
  • GitHub Actions
  • Docker-based Execution Pipelines

Why This Framework?

  • 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

CI/CD and Docker Execution Flow

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.

Execution Modes

Supported modes:

  • local
  • grid
  • docker

Example Configuration:

executionMode=docker
browser=chrome
gridUrl=http://localhost:4444
headless=false

Execution Flow

Code Push from Eclipse / Git
        ↓
GitHub Repository
        ↓
GitHub Actions Triggered
        ↓
Build + Test Execution
        ↓
Docker Selenium Grid Started
        ↓
Tests Run on Chrome / Firefox / Edge
        ↓
Reports Generated

Jenkins Execution Flow

Code Push from Eclipse / Git
        ↓
GitHub Repository
        ↓
GitHub Webhook
        ↓
Jenkins Pipeline Triggered
        ↓
Docker Grid Started
        ↓
Maven Test Execution
        ↓
Reports Generated

Key Capabilities

  • Local Execution
  • Selenium Grid Execution
  • Dockerized Browser Execution
  • Parallel Test Execution
  • Cross Browser Testing
  • GitHub Actions Integration
  • Jenkins Pipeline Integration
  • Config Driven Execution

🚀 Business Impact

• 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.

Skills

  • Selenium WebDriver
  • Java
  • TestNG
  • Cucumber BDD
  • REST Assured
  • Selenium Grid
  • Docker
  • Jenkins
  • GitHub Actions
  • API Testing
  • CI/CD Integration

Author

Nilava Pal Lead SDET | Senior QA Automation Engineer

About

This automation framework enables end-to-end testing across UI and API layers using a unified architecture.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages