{"id":27344658,"url":"https://github.com/nuwanthikaishani/seleniumtestdata","last_synced_at":"2025-10-08T15:01:39.936Z","repository":{"id":281397217,"uuid":"945150785","full_name":"nuwanthikaishani/SeleniumTestData","owner":"nuwanthikaishani","description":"Managing test data efficiently is a significant aspect of any testing strategy, and I wanted to demonstrate how Apache POI can be leveraged to read and use data from Excel in Selenium-based tests.","archived":false,"fork":false,"pushed_at":"2025-03-08T20:33:30.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T17:22:17.713Z","etag":null,"topics":["java","pom","selenium","seleniumwebdriver","testdata"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuwanthikaishani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-03-08T19:18:28.000Z","updated_at":"2025-03-08T20:33:33.000Z","dependencies_parsed_at":"2025-03-08T20:36:54.200Z","dependency_job_id":null,"html_url":"https://github.com/nuwanthikaishani/SeleniumTestData","commit_stats":null,"previous_names":["nuwanthikaishani/seleniumtestdata"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nuwanthikaishani/SeleniumTestData","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuwanthikaishani%2FSeleniumTestData","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuwanthikaishani%2FSeleniumTestData/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuwanthikaishani%2FSeleniumTestData/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuwanthikaishani%2FSeleniumTestData/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuwanthikaishani","download_url":"https://codeload.github.com/nuwanthikaishani/SeleniumTestData/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuwanthikaishani%2FSeleniumTestData/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267312254,"owners_count":24067773,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["java","pom","selenium","seleniumwebdriver","testdata"],"created_at":"2025-04-12T17:21:24.223Z","updated_at":"2025-10-08T15:01:39.887Z","avatar_url":"https://github.com/nuwanthikaishani.png","language":"Java","readme":"# SeleniumTestData\n\n# Selenium Test Data Management with Page Object Model (POM)\n\nThis project demonstrates how to manage **test data** using **Apache POI** (Excel) in a **Selenium-based test automation framework** built with the **Page Object Model (POM)**. The project is designed to separate **test data** from test scripts, making it more maintainable, scalable, and reusable for data-driven testing.\n\n## **Project Structure**\n\nThis project follows the **Page Object Model (POM)** design pattern, where:\n- **Page Object** classes represent the user interface.\n- **Test classes** manage the test execution.\n- **Utility classes** help with repetitive tasks like reading test data from Excel.\n\nHere’s the folder structure:\n\nSeleniumPOMTestProject/ │── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── base/ │ │ │ │ ├── BaseTest.java │ │ │ ├── pages/ │ │ │ │ ├── LoginPage.java │ │ │ ├── utils/ │ │ │ │ ├── ExcelReader.java │ │ ├── resources/ │ │ │ ├── config.properties │ │ │ ├── TestData.xlsx │ ├── test/ │ │ ├── java/ │ │ │ ├── tests/ │ │ │ │ ├── LoginTest.java │── pom.xml │── testng.xml │── README.md\n\n\n## **Key Components**\n\n### **1. BaseTest.java**\nThe `BaseTest` class initializes the WebDriver, sets the browser configurations, and manages the test setup and teardown. This class is extended by other test classes to avoid code duplication.\n\n### **2. LoginPage.java**\nThe `LoginPage` class is a Page Object that contains the locators for the login form (username, password, login button) and the methods to interact with the login page.\n\n### **3. ExcelReader.java**\nThe `ExcelReader` utility class uses **Apache POI** to read test data from an Excel file. It abstracts the logic of reading test data from the Excel sheet so that the test classes can easily fetch data for different test cases.\n\n### **4. LoginTest.java**\nThe `LoginTest` class is the actual test case that reads data from the Excel file using the `ExcelReader` class and performs the login functionality using the methods from the `LoginPage` class.\n\n### **5. TestData.xlsx**\nThe `TestData.xlsx` file contains the test data for the login functionality (e.g., valid usernames and passwords). This file is used to perform **data-driven testing**.\n\n### **6. config.properties**\nA configuration file used to store **browser settings**, **URLs**, and other configurable parameters.\n\n---\n\n## **Getting Started**\n\n### **1. Clone the Repository**\nFirst, clone this repository to your local machine:\n\n```bash\ngit clone https://github.com/nuwanthikaishani/SeleniumTestData.git\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuwanthikaishani%2Fseleniumtestdata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuwanthikaishani%2Fseleniumtestdata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuwanthikaishani%2Fseleniumtestdata/lists"}