Skip to content

geethuja/ui-testing-selenium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ui-testing-selenium

UI Automation Framework – Selenium (Java + TestNG) This project is a UI Automation Framework built using Selenium WebDriver, Java, and TestNG. It automates functional scenarios for the OrangeHRM Demo Application: 🔗 https://opensource-demo.orangehrmlive.com/web/index.php/dashboard/index

The framework follows the Page Object Model (POM) and implements a Singleton WebDriver pattern, supporting Allure and Extent Reports for reporting.

🧰 Tech Stack Component Tool Language Java Build Tool Maven Test Framework TestNG UI Automation Selenium WebDriver Design Pattern Page Object Model (POM), Singleton Reporting Allure, Extent Reports Logging Log4j2 CI/CD Jenkins / GitHub Actions

📁 Framework Structure ui-testing-selenium/ ├── pom.xml ├── testng.xml ├── README.md ├── src/ │ ├── main/java/ │ │ ├── base/ │ │ │ └── BaseTest.java │ │ ├── pages/ │ │ │ ├── LoginPage.java │ │ │ └── DashboardPage.java │ │ ├── utils/ │ │ │ ├── ConfigReader.java │ │ │ ├── DriverManager.java │ │ │ ├── WaitHelper.java │ │ │ └── LogHelper.java │ │ └── reports/ │ │ ├── ExtentReportManager.java │ │ └── AllureReportConfig.java │ └── test/java/ │ └── tests/ │ └── LoginTest.java └── reports/ ├── extent-report.html └── allure-results/

⚙️ Key Components

  • Base Class – BaseTest.java Handles driver setup/teardown and initialises reports.
  • Driver Manager – DriverManager.java (Singleton Pattern)
  • Page Objects LoginPage.java DashboardPage.java
  • Test Layer LoginTest.java
  • Utilities ConfigReader.java → Reads config from config.properties WaitHelper.java → Explicit wait management LogHelper.java → Handles logging (Log4j2) TestDataUtil.java → Fetches data from Excel/JSON

📊 Reporting

  • Allure Setup Generate Report: mvn clean test allure serve allure-results

  • Extent Reports ExtentReportManager.java View report after test execution: reports/extent-report.html

  • Run Tests mvn clean test

📊 View Reports

Allure: allure serve allure-results Extent: open reports/extent-report.html

🔗 CI/CD Integration

Jenkins → Run with: mvn clean test

Publish Allure Report Plugin in Jenkins.

Configure ExtentReport folder as archived HTML report.

👤 Author Geethuja Tom Test Automation Engineer

About

UI Automation Framework – Selenium (Java + TestNG)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published