Skip to content

This project aims to streamline the testing process for the OrangeHRM application, an open-source HR management system, by utilizing Cypress, a modern JavaScript testing framework. The automation covers essential functionalities such as user login and employee management.

Notifications You must be signed in to change notification settings

hasanazeerkhan/orangehrm-automation-cypress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OrangeHRM Automation with Cypress

This repository contains automated tests for the OrangeHRM application using Cypress. The aim is to ensure the functionality and stability of the application through automated UI testing.

Table of Contents

Introduction

OrangeHRM is a leading open-source human resource management software. This project automates various functionalities of the OrangeHRM application to ensure smooth user experiences and minimize regression issues.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Node.js (version 14.x or later)
  • npm (Node package manager)

Installation

  1. Clone the repository:

    git clone https://github.com/hasanazeerkhan/orangehrm-automation-cypress.git
    cd orangehrm-automation-cypress
  2. Install the required dependencies:

    npm install

Running Tests

To run the tests, use the following command:

npx cypress open

This will open the Cypress Test Runner. From there, you can select the test files you want to run.

For headless execution, you can run:

npx cypress run

Folder Structure

The project follows a standard Cypress folder structure:

orangehrm-automation-cypress/
├── cypress/
│   ├── e2e/                    # Test data files
|       ├── login.cy.js         # Spec file which contains test case
│   ├── fixtures/               # Test specifications
|       ├── testData.js.js      # File which contatins web elements and credentials
│   ├── support/                # Custom commands and global configurations
├── cypress.json                # Cypress configuration file
└── package.json                # Project dependencies and scripts
└── README.md                   # Documentation

Custom Commands

Custom commands are defined in the cypress/support/commands.js file. They help to streamline repetitive tasks within tests. Feel free to add your own custom commands as needed.

Test Cases Covered

  • Title of the website should be OrangeHRM.
  • Logging in with correct and incorrect credentials.
  • Forgot password functionality.
  • All social handles work correctly.
  • URL of the left panel works correctly.

Watch the test run

Contributing

Contributions are welcome! If you have suggestions for improvements or new features, please open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch git checkout -b feature/YourFeature
  3. Make your changes.
  4. Commit your changes git commit -m 'Add some feature'
  5. Push to the branch git push origin feature/YourFeature
  6. Open a pull request.

About

This project aims to streamline the testing process for the OrangeHRM application, an open-source HR management system, by utilizing Cypress, a modern JavaScript testing framework. The automation covers essential functionalities such as user login and employee management.

Topics

Resources

Stars

Watchers

Forks