Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/manuel12/automation-exercise
https://github.com/manuel12/automation-exercise
Last synced: about 15 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/manuel12/automation-exercise
- Owner: manuel12
- Created: 2024-05-08T13:36:10.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-07-23T20:24:25.000Z (4 months ago)
- Last Synced: 2024-07-23T23:44:29.434Z (4 months ago)
- Language: JavaScript
- Size: 113 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Automation Exercise - Cypress Tests
The Automation Exercise [website](https://automationexercise.com/) is a full-fledged website built for atuomation practice purposes.
This project aims to complete all the tests cases outlined in https://automationexercise.com/test_cases
It implements all such tests cases using the [Cypress](https://www.cypress.io/) testing framework. The test cases are outlined below.
# Test Case List
✅ = Automated Test Case implemented
## UI Test Cases
- ✅ Test Case 1: Register User
- ✅ Test Case 2: Login User with correct email and password
- ✅ Test Case 3: Login User with incorrect email and password
- ✅ Test Case 4: Logout User
- ✅ Test Case 5: Register User with existing email
- ✅ Test Case 6: Contact Us Form
- ✅ Test Case 7: Verify - Test Cases Page
- ✅ Test Case 8: Verify All Products and product detail page
- ✅ Test Case 9: Search Product
- ✅ Test Case 10: Verify Subscription in home page
- ✅ Test Case 11: Verify Subscription in Cart page
- ✅ Test Case 12: Add Products in Cart
- ✅ Test Case 13: Verify Product quantity in Cart
- ✅ Test Case 14: Place Order: Register while Checkout
- ✅ Test Case 15: Place Order: Register before Checkout
- ✅ Test Case 16: Place Order: Login before Checkout
- ✅ Test Case 17: Remove Products From Cart
- ✅ Test Case 18: View Category Products
- ✅ Test Case 19: View & Cart Brand Products
- ✅ Test Case 20: Search Products and Verify Cart After Login
- ✅ Test Case 21: Add review on product
- ✅ Test Case 22: Add to cart from Recommended items
- ✅ Test Case 23: Verify address details in checkout page
- ✅ Test Case 24: Download Invoice after purchase order
- ✅ Test Case 25: Verify Scroll Up using 'Arrow' button and Scroll Down functionality
- ✅ Test Case 26: Verify Scroll Up without 'Arrow' button and Scroll Down functionality[(See test cases)](https://docs.google.com/spreadsheets/d/1ODyuiiMTqNZFfyQl-OzS5PkaVBxl3plYPinB0eI0_Ss/edit#gid=0) [(See test code)](cypress/e2e/ui-tests.cy.js)
## API Test Cases
- ✅ API 1: Get All Products List
- ✅ API 2: POST To All Products List
- ✅ API 3: Get All Brands List
- ✅ API 4: PUT To All Brands List
- ✅ API 5: POST To Search Product
- ✅ API 6: POST To Search Product without search_product parameter
- ✅ API 7: POST To Verify Login with valid details
- ✅ API 8: POST To Verify Login without email parameter
- ✅ API 9: DELETE To Verify Login
- ✅ API 10: POST To Verify Login with invalid details
- ✅ API 11: POST To Create/Register User Account
- ✅ API 12: DELETE METHOD To Delete User Account
- ✅ API 13: PUT METHOD To Update User Account
- ✅ API 14: GET user account detail by email[(See test cases)](https://docs.google.com/spreadsheets/d/1ODyuiiMTqNZFfyQl-OzS5PkaVBxl3plYPinB0eI0_Ss/edit#gid=999865229) [(See test code)](cypress/e2e/api-tests.cy.js)
## Installation - Cypress
For installing cypress cd to the project's root folder and run:
npm install
## Tests
| Type | Location |
| ---- | -------------------------------------------------------- |
| api | [front-end/cypress/e2e/api/](front-end/cypress/e2e/api/) |
| ui | [front-end/cypress/e2e/ui/](front-end/cypress/e2e/ui/) |## Running tests
For opening cypress client cd to the project's root folder and run:
npx cypress open
Or if running from the CLI use one of the scripts found in package.json:
```
'test:chrome': 'cypress run --browser chrome',
'test:firefox': 'cypress run --browser firefox',
'test:edge': 'cypress run --browser edge',
'test:electron': 'cypress run --browser electron',
'test:all-browsers': 'npm run test:chrome && npm run test:firefox && npm run test:edge && npm run test:electron',
'test:api': 'cypress run --spec 'cypress/e2e/api/'',
'test:ui': 'cypress run --spec 'cypress/e2e/ui/'',
```## Features
- Test pyramid followed: 70/20/10
- Boundary validation tests
- Equivalence partitioning tests
- React component tests
- API tests
- UI functional tests(mocked & stubbed)
- End- to- end tests
- Accessibility tests
- Responsiveness test
- Visual tests## Uses
- Cypress
- Prettier
- ???