An open API service indexing awesome lists of open source software.

https://github.com/shivshanker869/practice_automation_selenium

This repository is purely for learning and practice purposes. It contains experiments, assignments, and frameworks built during my Selenium automation journey.
https://github.com/shivshanker869/practice_automation_selenium

automated-testing bdd-framework cucumber eclipse extentreports junit maven page-object-model practice-project qa qa-practice selenium selenium-java selenium-webdriver test-automation testng web-automation

Last synced: about 1 month ago
JSON representation

This repository is purely for learning and practice purposes. It contains experiments, assignments, and frameworks built during my Selenium automation journey.

Awesome Lists containing this project

README

          

# 🚀 Practice_Automation_Selenium

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.

---

## 📌 Key Features
- ✅ 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

---

## 🏗️ Project Structure

```bash
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

---

## ▶️ How to Run Tests

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.