Skip to content

Dockerized Selenium Test Automation Framework for multiple web applications built with Java, TestNG, Maven, and integrated with Jenkins for CI/CD, parallel execution, and containerized testing.

Notifications You must be signed in to change notification settings

pramesh01/Selenium-Docker-MultiApp-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Selenium-Docker-Multiapp-Framework

  • This repository contains a Dockerized automation framework for web application testing.
  • It is built with Selenium, Java, TestNG, and Maven, and leverages Docker & Jenkins for containerized execution and CI/CD integration.
  • The framework demonstrates end-to-end test automation for two different sample web applications — a Flight Reservation system and a Vendor Portal.

🌐 Applications Under Test

1️⃣ Flight Reservation App

🔗 Reservation App

  • Full flight booking flow automated:
    • User Registration
    • Login
    • Challenging radio buttons & multi-option && CheckBoxes selections.
    • Criticla Dropdown selections
    • Booking a flight and confirming the order

2️⃣ Vendor Portal App

🔗 Vendor App

  • Automated login flow for registered users
  • Pagination handling for search results
  • Selecting multiple critical options
  • Validation of navigation and search operations
  • LogOut validation

🛠️ Tech Stack

  • Java 11 → Core programming language
  • Selenium WebDriver → Browser automation
  • TestNG → Test execution & reporting
  • Page Object Model (POM) → Maintainable test design
  • PageFactory- helps in imtplementing POM, via WebElement iniotialization && passing drivers.
  • Maven → Build & dependency management
  • Docker → Containerization of test environment
  • Jenkins → CI/CD pipeline for building & pushing Docker images

✨ Features

  • ✅ End-to-end functional test automation (2 web apps)
  • Cross-browser testing support
  • Parallel execution with TestNG
  • Dockerfile included → Build Docker image for framework
  • Jenkinsfile included → Automate build & push to DockerHub
  • Scalable & portable → Run tests in isolated containers

⚙️ Prerequisites

  • Install Java 11+
  • Install Maven
  • Install Docker (latest version recommended)
  • (Optional) Jenkins if you want to run the pipeline

📥 Setup & Usage

1. Clone the repository

git clone https://github.com/pramesh01/selenium-docker-framework.git
cd selenium-docker-framework

2. Run tests locally (without Docker)

- mvn clean test

3. Build Docker Image

- docker build -t selenium-docker-framework .

4. Run tests inside Docker Container

- docker run selenium-docker-framework

5. Jenkins Pipeline

- The Jenkinsfile provided defines steps to:
  - Build the Docker image
  - Push it to DockerHub
  - Trigger automated tests

📊 Reports & Logs

  • Extent Reports → Generated inside test-output/
  • Screenshots on failure → Stored automatically

Logs → Captured via Log4j

📌 Future Enhancements

  • Integration with Docker Compose / Selenium Grid for distributed parallel execution
  • Enhanced CI/CD pipeline with Builder & Runner stages
  • Integration with cloud platforms (e.g., LambdaTest, AWS-EC2)

👨‍💻 Author

About

Dockerized Selenium Test Automation Framework for multiple web applications built with Java, TestNG, Maven, and integrated with Jenkins for CI/CD, parallel execution, and containerized testing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published