This repository contains my hands-on practice work with Selenium WebDriver using Java, TestNG, JUnit, and Maven.
It includes multiple automation test cases, framework setups, and examples covering different Selenium concepts, BDD, reporting, and utilities.
The goal of this project is to practice, explore, and master Selenium automation skills by building reusable scripts and frameworks.
- ✅ Selenium WebDriver practice with Java
- ✅ Implemented TestNG and JUnit test frameworks
- ✅ Page Object Model (POM) design approach in different modules
- ✅ Hands-on with Cucumber BDD and Gherkin syntax
- ✅ Utility functions for waits, config handling, and reusable methods
- ✅ Practiced on multiple real-time scenarios:
- Alerts, iFrames, Windows handling
- Web elements (buttons, checkboxes, radio buttons, inputs)
- End-to-end e-commerce flows (DemoWebShop, RedBus, Amazon, etc.)
- File upload, XPath locators, title verification
- ✅ Extent Reports & Cucumber HTML Reports integrated for execution results
- ✅ Covers cross-browser testing and modularized test design
Practice_Automation_Selenium/
├── src
│ ├── main
│ │ └── java
│ │ ├── pages/ # Page Object Model classes
│ │ └── utils/ # Utility classes (Waits, ConfigReader, etc.)
│ │
│ └── test
│ └── java
│ ├── assignment/ # Practice programs (alerts, iframe, scroll, login, etc.)
│ ├── Automate/ # E-commerce flows (add to basket, login, window handling)
│ ├── AutomationTestingProject/ # DemoWebShop automation tests
│ ├── demo/ # Element handling (buttons, checkboxes, edit box, etc.)
│ ├── evaluationtask/ # Task-based automation exercises
│ ├── ExtentReport/ # Extent report demo classes
│ ├── JUnit1/ # JUnit test examples
│ ├── Masai/ # Practice with file upload, RedBus XPath, Selenium use cases
│ ├── testing1/ # Data provider, OrangeHRM login, title verification
│ └── DataProvider/ # Parameterization with DataProvider
│
├── src/test/resources/ # Resource files (if any)
├── reports/ # Test execution reports
├── pom.xml # Maven dependencies
└── testng.xml # TestNG suite configuration##🛠️ Tech Stack
Language: Java
Automation Tool: Selenium WebDriver
Frameworks: TestNG, JUnit, BDD (Cucumber)
Design Pattern: Page Object Model (POM)
Build Tool: Maven
Reports: Extent Reports, Cucumber Reports
Version Control: GitHub
Clone the repo:
git clone https://github.com/Shivshanker869/Practice_Automation_Selenium.git
🙌 Acknowledgements
This repository is purely for learning and practice purposes. It contains experiments, assignments, and frameworks built during my Selenium automation journey.