The Automation Exercise website 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 testing framework. The test cases are outlined below.
✅ = Automated Test Case implemented
- ✅ 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) (See test code)
- ✅ 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) (See test code)
For installing cypress cd to the project's root folder and run:
npm install
Type | Location |
---|---|
api | front-end/cypress/e2e/api/ |
ui | front-end/cypress/e2e/ui/ |
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/'',
- 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
- Cypress
- Prettier
- ???