This project is an advanced automation testing framework built using Selenium WebDriver with Java and TestNG to validate core functionalities of the OrangeHRM demo application.
The framework is designed using the Page Object Model (POM) pattern and enhanced with TestNG features, configuration management, and dynamic test data handling.
OrangeHRM Demo Website
https://opensource-demo.orangehrmlive.com/
The following end-to-end test scenarios are automated:
-
Login Test
- Login using credentials from configuration file
- Validate successful login
-
Add User
- Navigate to Admin module
- Add new user with dynamic data
- Validate user creation by searching the user in table (since table is not auto-refreshed)
-
Delete User
- Delete user that was previously created
- Uses shared data from Add User test
- Ensures proper cleanup of test data
- Selenium WebDriver
- Java
- TestNG Framework
- Page Object Model (POM)
- Configuration Management (config.properties)
- Test Dependency (dependsOnMethods)
- Shared Test Data Between Test Cases
- Dynamic Validation Strategy (Search-based validation)
- Modular & Scalable Test Structure
| Technology | Description |
|---|---|
| Java | Programming language |
| Selenium WebDriver | Browser automation |
| TestNG | Test framework |
| Maven | Dependency management |
| IntelliJ IDEA | IDE used |
Test configuration is managed using:
Example:
- baseUrl=https://opensource-demo.orangehrmlive.com/
- username=Admin
- password=admin123
This allows better flexibility and avoids hardcoded credentials.
Login → Add User → Validate User (Search) → Delete User
- User is dynamically created
- Validation is done via search (due to UI limitation)
- Same user is deleted using shared test data
- Clone the repository
- Open in IntelliJ IDEA
- Install dependencies via Maven
- Run using TestNG XML:testng.xml
Fauzan Rahmawan
Software Quality Assurance Engineer