A professional-grade, scalable, and robust Automation Framework built with Java and Selenium WebDriver. This project demonstrates an enterprise-level implementation of the Page Object Model (POM) with integrated Data-Driven testing.
- Architecture: Hybrid Framework (Data-Driven + Modular).
- Design Pattern: Page Object Model (POM) for clean separation of UI Repository and Test Logic.
- Testing Engine: TestNG with advanced features like
DataProvider,Groups, andDependsOnMethods. - Reporting: Rich, interactive HTML reports using Extent Reports (AdvanceReport).
- Stability: Integrated Retry Mechanism and TestNG Listeners for automatic failure handling and screenshots.
The framework utilizes TestNG @DataProvider to execute the PIM module tests with multiple data sets iteratively.
- Scenario:
verifyAddEmployee - Data Flow: Uses
getEmpdata()to feedfirstName,lastName, andiddynamically into the test.
To ensure end-to-end data integrity, the framework implements a dynamic capture mechanism:
- ID Capture: A global variable
captureIdstores the system-generated ID usingpm.GeneratedEmployeeId(). - Test Dependency: The
deleteEmployeetest is linked viadependsOnMethods = "verifyAddEmployee". This ensures we only attempt to delete a record if it was successfully created. - Assertions: Advanced validations using
ExpectedConditionsto verify URL changes (viewPersonalDetails) and "No Records Found" messages after deletion.
- Build Tool: Maven integration for dependency management and execution.
- Execution: Fully compatible with
mvn testfor headless execution in Jenkins/GitHub Actions pipelines. - Security: Sensitive configurations managed via
.gitignoreto protect credentials.
src/main/java/base: ContainsBaseTestfor browser setup/teardown.src/main/java/pages: Object Repository (LoginPage, DashboardPage, PIM).src/main/java/genericUtilities: Reusable PropertyFile and WebDriver utilities.src/test/java/demo: Functional Test Scripts (AddEmployeeTest).
- Clone the repository.
- Update
config.propertieswith your OrangeHRM credentials. - Run
testng.xmlfrom Eclipse or usemvn testfrom terminal.
Author: Katty95 (Ankit Singh)
Experience: 8+ Years in Software Quality Engineering