https://github.com/rajatt95/tutorial_yt_rajat_designpattern_pom_selenium_java
This repository contains a Tutorial for Page Object Model (POM) design pattern implementation using Selenium WebDriver and Java for automated testing of applications.
https://github.com/rajatt95/tutorial_yt_rajat_designpattern_pom_selenium_java
abstraction builder-pattern design-patterns encapsulation fluent-interface inheritance intellij-idea java oops-in-java page-factory page-object-model polymorphism selenium-webdriver testng webdrivermanager
Last synced: 4 months ago
JSON representation
This repository contains a Tutorial for Page Object Model (POM) design pattern implementation using Selenium WebDriver and Java for automated testing of applications.
- Host: GitHub
- URL: https://github.com/rajatt95/tutorial_yt_rajat_designpattern_pom_selenium_java
- Owner: rajatt95
- Created: 2023-07-30T12:54:09.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-26T18:41:59.000Z (over 1 year ago)
- Last Synced: 2025-02-02T18:33:21.045Z (5 months ago)
- Topics: abstraction, builder-pattern, design-patterns, encapsulation, fluent-interface, inheritance, intellij-idea, java, oops-in-java, page-factory, page-object-model, polymorphism, selenium-webdriver, testng, webdrivermanager
- Language: Java
- Homepage: https://www.youtube.com/watch?v=xVlSLhB3VcA&list=PLrBBHmoBFxBWV26aLM7VHcpljfJLHd6eQ&ab_channel=SoftwareTesting-RajatVerma
- Size: 36.1 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
# 💻 Tutorial | Page Object Model (POM)[](https://www.selenium.dev/)
[](https://www.java.com/)[](https://www.jetbrains.com/idea/)
[](https://maven.apache.org/)
[](https://testng.org/doc/)
[](https://en.wikipedia.org/wiki/Page_Object_Model)## 📑 Table of Contents
- [Introduction](#introduction)
- [Video Tutorial](#video-tutorial)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Running Tests](#running-tests)
- [Project Structure](#project-structure)
- [Configuration](#configuration)
- [Other Projects](#other-projects)
- [Technical Documents](#technical-documents)
- [Contacts](#contacts)## 📖 Introduction
This repository contains a Tutorial for Page Object Model (POM) design pattern implementation using Selenium WebDriver and Java for automated testing of applications.## 🎥 Video Tutorial
Click on the image above to watch the tutorial.
## 🛠️ Prerequisites
- [](https://www.oracle.com/java/technologies/javase-downloads.html) (v11 or higher recommended)
- [](https://maven.apache.org/) (v3.8.7 or higher recommended)## ▶️ Getting Started
1. Clone the repository:
```bash
git clone https://github.com/rajatt95/Tutorial_YT_Rajat_DesignPattern_POM_Selenium_Java
```2. Navigate to the project directory:
```bash
cd Tutorial_YT_Rajat_DesignPattern_POM_Selenium_Java
```3. Install dependencies:
```bash
mvn clean install
```## 🚀 Running Tests
You can execute the tests using the test runner class located in `src/test/java`:
- **Run All Tests**: Execute the testng.xml file to run all the tests.
- **Run Specific Test**: The test runner class allows you to run specific test methods if needed.
- Execute tests using Maven:
```bash
mvn clean test
```## 📁 Project Structure
The tests follow a modular and maintainable structure:
```
|-- src
| |-- main
| |-- java
| |-- tutorial.POM.pages
| |-- _02_Without_PageFactories
| |-- HomePage
| |-- LoginPage
| |-- _03_With_PageFactories
| |-- HomePage
| |-- LoginPage
| |-- _04_BuilderPattern
| |-- HomePage
| |-- LoginPage
| |-- _05_FluentInterface
| |-- HomePage
| |-- LoginPage
| |-- _06_HandleComponents
| |-- components
| |-- AppHeader
| |-- HomePage
| |-- LoginPage
| |-- test
| |-- java
| |-- tutorial.POM
| |-- base
| |-- BaseTest
| |-- tests
| |-- Test_02_Login_POM_Without_PageFactories
| |-- Test_03_Login_POM_With_PageFactories
| |-- Test_04_Login_POM_BuilderPattern
| |-- Test_05_Login_POM_FluentInterface
| |-- Test_06_Login_POM_Components
|-- testng.xml
```- `src/main/java/tutorial.POM.pages`: Contains the Page Object Model (POM) classes representing web pages and their elements.
- `src/test/java/tutorial.POM.base`: Contains the Base for every test (setup and tearDown methods).
- `src/test/java/tutorial.POM.tests`: Contains the actual test files. You can organize your tests into subdirectories as needed.
- `testng.xml`: Tests execution configuration file## ⚙️ Configuration
- Modify `testng.xml` for Tests execution configuration settings.
- Customize `BaseTest` for setup and tearDown methods (Change browser for tests execution).## 🔭 Other Projects
- [](https://github.com/stars/rajatt95/lists/programming-language-java) -
[](https://github.com/stars/rajatt95/lists/selenium-automation-frameworks)
[](https://github.com/stars/rajatt95/lists/appium-automation-frameworks)
[](https://github.com/stars/rajatt95/lists/restassured-automation-framework)- [](https://github.com/stars/rajatt95/lists/programming-language-javascript) -
[](https://github.com/stars/rajatt95/lists/cypress-automation-frameworks)
[](https://github.com/stars/rajatt95/lists/playwright-automation-frameworks)- [](https://github.com/stars/rajatt95/lists/programming-language-python) -
[](https://github.com/stars/rajatt95/lists/requests-automation-framework)## 📄 Technical Documents
- [](https://drive.google.com/drive/folders/1tne9pZjgWvfrS0l9tVHs6k1jnQHpTLoA?usp=sharing)
- [](https://github.com/rajatt95/Documents)## 📧 Contacts
- [](mailto:[email protected])
- [](https://github.com/rajatt95)
- [](https://rajatt95.github.io/)
- [](https://www.linkedin.com/in/rajatt95)
- [](https://topmate.io/rajatt95)
- [](https://t.me/rajatt95)
- [](https://www.instagram.com/rajattvermaa95/)
- [](https://www.youtube.com/@rajatt95)
- [](https://chat.whatsapp.com/LP20xMGvxnEL88GoB58bo1)
- [](https://whatsapp.com/channel/0029Va9XXMhJ93waOU5Xer3r)Feel free to reach out if you have any questions, or suggestions, or just want to chat!
Thanks for visiting my GitHub profile! 😊
![]()