- About the Project
- Key Benefits
- Features
- Reporting
- Installation
- Configuration
- Usage
- Folder Structure
- Dependencies
- Contributors
- License
- Contact
The OrangeHRM Selenium Cucumber UI Test Automation framework is an automated testing solution created to validate the core functionalities of the OrangeHRM platform.
This framework leverages Selenium for UI automation, Cucumber for Behavior-Driven Development (BDD), and TestNG for execution and reporting.
The project focuses on automating regression and functional tests to ensure the stability and reliability of the OrangeHRM application.
- Automated UI Testing: Tests core HRM functionalities such as login, employee management, and leave applications.
- Behavior-Driven Development (BDD): Test scenarios are defined in plain English using Gherkin syntax.
- Detailed Reporting: Generates HTML and PDF reports with test execution details and screenshots for failed scenarios.
- Data-Driven Testing with Apache POI: Test data is managed using Excel files, ensuring flexibility and scalability.
- Page Object Model (POM): Simplifies test maintenance and enhances reusability by adopting the POM design pattern.
- Login Automation: Validates login functionality using Excel data.
- Employee Management: Automates scenarios for adding, editing, and deleting employee records.
- Leave Management: Tests for applying, approving, and rejecting leave requests.
- Report Generation: Extent Reports provides detailed insights into test execution results.
- Excel-Based Data-Driven Testing: Utilizes Apache POI to read and write test data to Excel files.
Test reports are generated after each execution in the target/testReports
directory.
- HTML Report: Located at
target/testReports/sparkReport/Spark.html
. - PDF Report: Available at
target/testReports/PdfReport.pdf
.
- Clone the repository:
git clone https://github.com/cihat-kose/orangehrm-test-suite.git cd orangehrm-test-suite
- Install dependencies:
mvn clean install
- Run tests:
mvn test
-
Clone the repository:
- Open IntelliJ IDEA.
- Go to File > New > Project from Version Control.
- Enter the repository URL:
https://github.com/cihat-kose/orangehrm-test-suite.git
. - Click Clone.
-
Install necessary plugins:
- Ensure Cucumber for Java and Gherkin plugins are installed in IntelliJ IDEA for Cucumber and Gherkin syntax support:
- Go to File > Settings > Plugins (or Preferences on macOS).
- Search for Cucumber for Java and Gherkin, install them, and restart IntelliJ IDEA if prompted.
- Ensure Cucumber for Java and Gherkin plugins are installed in IntelliJ IDEA for Cucumber and Gherkin syntax support:
-
Open the project:
- IntelliJ IDEA should automatically detect and import the project as a Maven project.
- Wait for dependencies to download.
- cucumber.properties:
cucumber.publish.quiet=true
- extent.properties:
extent.reporter.spark.start=true extent.reporter.spark.out=test-output/SparkReport/Spark.html extent.reporter.pdf.start=true extent.reporter.pdf.out=PdfReport.pdf
To run tests, navigate to src/test/java/runners/TestRunnerAll.java
and run the file directly from IntelliJ IDEA or execute the following command:
mvn test
orangehrm-test-suite/
│
src
└── test
├── java
│ ├── featureFiles # Cucumber Feature Files
│ ├── pages # Page Object Model (POM) Classes
│ ├── runners # Test Runners
│ ├── stepDefinitions # Step Definitions
│ └── utilities # Utility Classes
├── resources
│ ├── cucumber.properties # Cucumber configuration
│ ├── extent.properties # Extent Report configuration
│ └── TestCasesTeam1.xlsx # Test Data (Excel)
│── target # Test output and reports
└── pom.xml # Maven configuration file
The dependencies for this project are managed in the pom.xml
file and include:
- Selenium – UI automation
- Cucumber – BDD testing framework
- TestNG – Test execution and management
- Apache POI – Excel data handling
- ExtentReports – Test reporting
- cihat-kose – Team Lead / Software Tester
- AyseGun18 – Software Tester
- CihanDilber – Software Tester
- HavvaGonul – Software Tester
- seymanuripek – Software Tester
- TlpAyn – Software Tester
- yilmazas – Software Tester
- Zafer-Yilmaz – Software Tester
To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or contributions, please open an issue in this repository.