Altinyildiz Petstore UI & API Cypress Automation is a comprehensive end-to-end testing project that covers both UI and API testing using Cypress. The project tests functionalities such as:
- User login
- Account registration
- User actions including creation, update, and deletion
- API requests for user management
The tests are conducted on the following platforms:
- UI Tests: https://www.altinyildizclassics.com/login
- API Tests: https://petstore.swagger.io/v2
The goal is to ensure seamless user workflows and robust API validation.
- Full coverage of UI and API tests.
- Modular Page Object Model (POM) for UI automation.
- API test implementation using Cypress commands.
- Custom error handling and reusable test utilities.
- Clone the repository:
git clone https://github.com/cihat-kose/altinyildiz-petstore-ui-api-cypress-automation.git
- Navigate to the project directory:
cd altinyildiz-petstore-ui-api-cypress-automation - Install dependencies using npm:
npm install
To execute all Cypress tests (UI and API), run:
npx cypress runTo open the interactive Cypress test runner:
npx cypress openTo record tests with the Cypress Dashboard:
npx cypress run --record --key <your-key>
npx cypress run --record --key e500100b-c83d-432a-92b7-a854f2f81838Replace <your-key> with the actual project key.
cypress/e2e: Contains all test files for UI and API tests (login-tests.cy.js,user-tests.cy.js).cypress/pages: Page Object files for UI automation.cypress/support: Custom commands and global configurations.cypress/fixtures: Test data for API tests.
This project uses the following dependencies:
- Cypress: ^13.17.0
- Node.js: 16 or above
Dependencies are managed in package.json.
We welcome contributions! Follow these steps:
- Fork this repository.
- Create a new branch:
git checkout -b feature-branch
- Commit your changes:
git commit -m "Add new feature" - Push to your branch:
git push origin feature-branch
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For issues or questions, please open an issue in this repository.