Skip to content

prasad291024/selenium-automation-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Selenium Automation Framework (with Java)

A robust, scalable, and production-ready Selenium Automation Framework built with Java 17, TestNG, and modern DevOps practices. Supports parallel execution, multiple environments, cloud grids, Docker, and comprehensive reporting.


📌 Key Features

Core Stack

  • Java 17 with Selenium 4.31.0
  • TestNG 7.11.0 for test orchestration
  • Maven build automation
  • Page Object Model (POM) design pattern

Execution Capabilities

  • 🔐 ThreadLocal for parallel execution
  • Parallel Testing (methods/tests/classes)
  • 🌍 Multi-Environment (QA/Prod via ConfigManager)
  • ☁️ Cloud Grid (BrowserStack, LambdaTest)
  • 🐳 Docker Grid (Selenium Grid with docker-compose)
  • 🖥️ Local Execution (Chrome, Firefox, Edge)

Quality & Reporting

  • 📊 Allure Reports with categories and environment info
  • 📸 Auto Screenshots on failure
  • 📝 Log4j2 Logging with LoggerUtil
  • 🧪 AssertJ fluent assertions
  • 📈 JaCoCo code coverage
  • Checkstyle code quality
  • 🔒 OWASP security scanning

Testing Types

  • 🌐 UI Testing (Selenium WebDriver)
  • 🔌 API Testing (REST Assured)
  • 🗄️ Database Testing (JDBC)
  • 📁 Data-Driven (Excel with Apache POI)

CI/CD

  • 🚀 GitHub Actions workflows
  • PR Checks (build, test, quality, security)
  • 🔐 Branch Protection rules
  • 📦 Artifact Management

🚀 Quick Start

Prerequisites

  • Java 17+
  • Maven 3.6+
  • Chrome/Firefox/Edge browser

Run Tests

# Clone repository
git clone https://github.com/prasad291024/selenium-automation-framework.git
cd selenium-automation-framework

# Run all tests
mvn clean test

# Run specific suite
mvn test -Dsurefire.suiteXmlFiles=testng_vwo_pom.xml

# Run with environment
mvn test -Denv=qa

# Generate Allure report
mvn allure:serve

Docker Execution

docker-compose up -d
mvn test -Dsurefire.suiteXmlFiles=testng_docker_grid.xml
docker-compose down

📸 Screenshots

🖥️ Dashboard Example:

Screenshot 2023-10-31 at 12 27 14 PM

📈 Allure Report Snapshot:

Screenshot 2023-10-31 at 12 27 28 PM

📚 Documentation


🎯 Framework Architecture

src/
├── main/java/com/prasad_v/
│   ├── driver/          # DriverManager, DriverManagerTL, DriverManagerCloud
│   ├── pages/           # Page Object Models
│   ├── utils/           # LoggerUtil, ScreenshotUtil, ConfigManager, APIUtil, DatabaseUtil
│   └── base/            # CommonToAllTest
├── test/java/com/prasad_v/tests/
│   ├── examples/        # Sample tests (API, DB, Allure)
│   └── ...              # Test classes
└── test/resources/
    └── config/          # qa.properties, prod.properties

🏆 Achievements

10 Phases Complete (100% Implementation)
58% Performance Improvement (Parallel Execution)
70%+ Code Coverage (JaCoCo)
Zero Critical Security Issues (OWASP)
Production Ready (All validations passed)


👤 Author

Prasad


📄 License

MIT License - See LICENSE file for details

About

Production-ready Selenium automation framework using Java 17, TestNG, POM, Docker Grid, cloud grids, Allure reporting, API/DB testing, and GitHub Actions CI/CD.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors