Skip to content

Java Selenium TestNG automation framework with Page Object Model and Maven

Notifications You must be signed in to change notification settings

snnarangsumit/selenium-java-framework

Repository files navigation

Selenium Java Framework

Java Selenium TestNG Maven

🔹 Overview

A modern Selenium Java framework for UI automation using TestNG and Page Object Model (POM) design.
This framework is designed to be scalable, reusable, and CI/CD-ready, making it ideal for showcasing in interviews or as a professional portfolio.


🔹 Tech Stack

  • Java: 17+
  • Selenium: 4.9+
  • TestNG: 7.7+
  • Maven: Project management and dependency management
  • Reporting: TestNG HTML reports (optional Extent/Allure)
  • CI/CD: GitHub Actions (optional)

🔹 Features

  • Page Object Model (POM) design for maintainable tests
  • Reusable helper classes and utilities in components/
  • Supports Chrome, Firefox, and remote browsers
  • Environment-based configuration (dev, staging)
  • Test data management using resources/
  • Generates HTML test reports
  • Structured for interview/demo purposes

🔹 Project Structure

selenium-java-framework/
│
├── src/
│   ├── main/java/
│   │   ├── components/        # Reusable helper classes
│   │   └── pageobjects/       # Page Object Model classes
│   │
│   └── test/java/
│       └── tests/             # Test cases
│
├── testSuites/                # TestNG XML suites
│
├── reports/                   # Test reports (auto-generated)
│
├── test-output/               # TestNG output (auto-generated)
│
├── pom.xml                    # Maven dependencies
├── data.properties            # Test configuration
├── data.xlsx                  # Test data
└── README.md                  # Documentation

🔹 How to Run

1. Clone the repository

git clone https://github.com/snnarangsumit/selenium-java-framework.git
cd selenium-java-framework

2. Build the project
mvn clean install

3. Run all tests
mvn clean test

4. Run a specific test
mvn clean test -Dtest=LoginTest

5. View test reports

TestNG reports are generated in test-output/ or reports/ (if added)
## 🔹 Folder Structure

About

Java Selenium TestNG automation framework with Page Object Model and Maven

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published