{"id":28488473,"url":"https://github.com/jagatheshwarann/selenium-test-framework","last_synced_at":"2026-05-09T09:32:36.550Z","repository":{"id":154482200,"uuid":"617905187","full_name":"JagatheshwaranN/Selenium-Test-Framework","owner":"JagatheshwaranN","description":"This repository contains a Selenium WebDriver Java-based Automation Framework designed to facilitate the testing of web applications. The framework is adaptable to meet the requirements of any automation project.","archived":false,"fork":false,"pushed_at":"2025-04-04T15:43:59.000Z","size":693,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T05:44:07.819Z","etag":null,"topics":["aes-encryption","ashot","extentreports","java","log4j2","maven","page-object-model","selenium","selenium-webdriver","testng","ui-automation"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JagatheshwaranN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-23T11:04:44.000Z","updated_at":"2025-04-04T15:44:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"f9003f87-a096-4912-b0d6-39ab9ae8fa62","html_url":"https://github.com/JagatheshwaranN/Selenium-Test-Framework","commit_stats":null,"previous_names":["jagatheshwarann/selenium-test-framework"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JagatheshwaranN/Selenium-Test-Framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JagatheshwaranN%2FSelenium-Test-Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JagatheshwaranN%2FSelenium-Test-Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JagatheshwaranN%2FSelenium-Test-Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JagatheshwaranN%2FSelenium-Test-Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JagatheshwaranN","download_url":"https://codeload.github.com/JagatheshwaranN/Selenium-Test-Framework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JagatheshwaranN%2FSelenium-Test-Framework/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263282792,"owners_count":23442250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-encryption","ashot","extentreports","java","log4j2","maven","page-object-model","selenium","selenium-webdriver","testng","ui-automation"],"created_at":"2025-06-08T05:30:57.621Z","updated_at":"2026-05-09T09:32:31.505Z","avatar_url":"https://github.com/JagatheshwaranN.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selenium Test Framework\n\n## Overview\nThis repository contains a Selenium WebDriver Java-based Automation Framework designed to facilitate the testing of web applications. \nThe framework is adaptable to meet the requirements of any automation project.\n\n## Features\n- Selenium WebDriver for automated browser interaction.\n- TestNG for managing test execution, grouping, and reporting.\n- Page Object Model (POM) design pattern for maintaining reusable and clean test code.\n- Data-Driven Testing using Excel file for passing test data.\n- Parallel Execution with TestNG to run tests across multiple browsers and configurations.\n- Screenshots capture during test execution for failure analysis.\n- Logging using Log4j for enhanced test result reporting.\n- Extent Report for customized reporting.\n- AES encryption for encryption and decryption of sensitive data.\n\n## Prerequisites\nBefore running the framework, make sure to have the following installed:\n- Java 11 or higher\n- Maven (for dependency management)\n- IDE (IntelliJ Idea or Eclipse)\n\n## Getting Started\n\n### 1. Clone the Repository\nTo get started with the framework, first clone the repository:\n\n```bash\ngit clone https://github.com/JagatheshwaranN/Selenium-Test-Framework.git\n```\n\n### 2. Set Up the Project\nThe project is managed by Maven. To download all necessary dependencies, navigate to the project directory and run:\n``` bash\nmvn clean install\n```\n### 3. Run Tests\nAlternatively, you can run specific TestNG XML suites for targeted test execution:\n``` bash\n mvn test -DsuiteXmlFile='testng.xml' -'Dorg.freemarker.loggerLibrary=NONE'\n```\n### 4. Generating Reports\n- Extent will generate an HTML report in the ```/resources/report``` directory after test execution.\n- TestNG will automatically generate an HTML report in the ```/test-output``` directory after test execution.\n- Additionally, screenshots will be captured for any failed test and stored in the ```/resources/screenshots``` folder.\n\n## Directory Structure\n\n```plaintext\nSeleniumTestFramework/\n└── src/\n    ├── main/\n    │   ├── java/\n    │   │   └── com/\n    │   │       └── qa/\n    │   │           └── stf/\n    │   │               ├── base/\n    │   │               │   ├── BasePage\n    │   │               │   ├── BrowserManager\n    │   │               │   ├── DriverManager\n    │   │               │   ├── ElementActions\n    │   │               │   └── EnvironmentManager\n    │   │               ├── constant/\n    │   │               │   ├── BrowserType\n    │   │               │   ├── EnvType\n    │   │               │   └── TestConstants\n    │   │               ├── handler/\n    │   │               │   ├── AlertHandler\n    │   │               │   ├── BrowserHandler\n    │   │               │   ├── DateTimeHandler\n    │   │               │   ├── DropDownHandler\n    │   │               │   ├── JavaScriptHandler\n    │   │               │   ├── VerificationHandler\n    │   │               │   └── WaitHandler\n    │   │               ├── listener/\n    │   │               │   └── TestListener\n    │   │               ├── report/\n    │   │               │   └── ExtentReportManager\n    │   │               └── util/\n    │   │                   ├── DataSupplier\n    │   │                   ├── EncryptionManager\n    │   │                   ├── ExcelReader\n    │   │                   ├── ExceptionHub\n    │   │                   ├── ExtentUtil\n    │   │                   └── FileReader\n    │   └── resources/\n    │       ├── config/\n    │       │   └── configuration.properties\n    │       └── log4j2.properties\n    ├── test/\n    │   ├── java/\n    │   │   └── com/\n    │   │       └── qa/\n    │   │           └── stf/\n    │   │               └── app/\n    │   │                   ├── base/\n    │   │                   │   └── BaseTest\n    │   │                   ├── constant/\n    │   │                   │   └── AppConstants\n    │   │                   ├── elements/\n    │   │                   │   ├── AdminPageElement\n    │   │                   │   ├── DashboardPageElement\n    │   │                   │   ├── LoginPageElement\n    │   │                   │   └── TimesheetPageElement\n    │   │                   ├── objects/\n    │   │                   │   ├── AdminPageObject\n    │   │                   │   ├── DashboardPageObject\n    │   │                   │   ├── LoginPageObject\n    │   │                   │   └── TimesheetPageObject\n    │   │                   ├── pages/\n    │   │                   │   ├── AdminPage\n    │   │                   │   ├── DashboardPage\n    │   │                   │   ├── PageManager\n    │   │                   │   └── TimesheetPage\n    │   │                   └── testcases/\n    │   │                       ├── AdminPageTest\n    │   │                       ├── LoginPageTest\n    │   │                       └── TimesheetPageTest\n    │   └── resources/\n    │       ├── data/\n    │       │   └── testData.xlsx\n    │       ├── logs/\n    │       │   └── AutomationExecution.log\n    │       ├── report/\n    │       │   └── ExtentReport.html\n    │       ├── runner/\n    │       │   └── testng.xml\n    │       └── screenshots/\n    │           └── 19_01_2025_11_21_07.png\n    └── pom.xml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjagatheshwarann%2Fselenium-test-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjagatheshwarann%2Fselenium-test-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjagatheshwarann%2Fselenium-test-framework/lists"}