Skip to content

fsejasm/AutomationFrameworkSelenium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Framework Overview

The framework is a Selenium-based test automation framework with a layered architecture centered around driver management, configuration, and dual reporting systems (ExtentReports and Allure)

Installation and Setup

To get started with this framework, follow these steps:

Pull the project from Github

https://github.com/fsejasm/AutomationFrameworkSelenium

Code Structure

This Selenium Automation Framework follows a structured approach for better maintainability and scalability. Below is an overview of the code structure:

image

1. Configuration Layer

The framework uses a prioritized configuration chain managed by the Owner library through the Configuration interface Configuration.

  1. System Properties (highest priority) - Command-line arguments
  2. Environment Variables - OS-level variables
  3. config.properties - Main framework settings
  4. data.properties - Test data settings

2. Driver Management Layer

The driver management system ensures thread-safe parallel execution:

  1. DriverManager: Central authority using ThreadLocal to isolate browser instances per execution thread
  2. BrowserFactory: Enum-based factory creating specific browser instances (Chrome, Edge, Firefox, Safari) with associated capabilities
  3. TargetFactory: Decides between LOCAL or REMOTE (Selenium Grid) execution based on configuration

3. Reporting System Architecture

The reporting system is dual-layered with ExtentReports and Allure integration: ExtentReports Integration

  1. ExtentReportManager: Global lifecycle engine managing report initialization, test logging nodes, and HTML compilation ExtentReportManager
  2. ExtentTestManager: Thread-safe container for managing test nodes (not shown in snippets but referenced)
  3. ReportUtils: Handles report path creation and automatic report opening ReportUtils

Folder Structure

image

Running Tests

To run all the tests, use the following command:

mvn clean test

About

The framework is a Selenium-based test automation framework with a layered architecture centered around driver management, configuration, and dual reporting systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors