Task for Web QA Automation
The Goal​
Your task is to write automated tests preferably with Cypress, NightWatch or Playwright to demonstrate your test automation abilities.
The Process​
- Start a new github repository with detailed "README" document on how to execute the tests.
- Write end-to-end tests fulfilling the Acceptance Criteria below.
- Publish test execution report in html format.
- Prepare a test summary report and include the information about platform, browser, tools etc
- Include all tests related document in same github repository.
Acceptance Criteria​
Scenario 1: [Check the total displayed number of results for category Smart Home | Televisions]
- Starts on the Amazon
- Go to Categories list
- Choose category 'Smart Home'
- Choose sub-category category 'Home Entertainment'
- Choose sub-category 'Televisions'
- Check the total number of results match the total displayed products
Scenario 2: [Check filter by department in Deals and Promotions page]
- Click on Today's Deals
- From Departments filter, Show see more
- Select Software department
- Assert on choosing the correct selected department
Scenario 3: [Check the selected currency displayed for the products' price]
- Go to Currency Settings
- Change currency from 'USD' to 'AED'
- Save changes
- Check the selected currency displayed for the products' price
Scenario 4: [Check Product Details Page]
- From Search DDL, chose "Electronics" and Search for "Apple"
- Click on any product displayed
- Verify In/Out of stock, price, rating, and shipping details
- Click and verify add to cart feature
Bonus Round (not required, but nice-to-have)​
- Usage of code quality tools such as eslint, prettier, typescript
- Integration of your tests into a CI pipeline
- Manual test cases to cover the given scenarios
- Report any found bugs with associated screenshots
- Brief Performance report on home page using Jmeter or any similar tool
- Security and Vulnerability assessment
- Surprise us…
How we're evaluating the results​
Prioritized from most important to least important, here are our evaluation criteria:
- Acceptance Criteria: Have all acceptance criteria been fulfilled correctly?
- Code Quality: Is the code that you've written clean, well-structured and easy to understand?
- Documentation: Did you document how to run your tests well? Is your written communication clear and easy-to-understand?
- The extra mile: Everything you did on top of the acceptance criteria.
How to submit your work​
Create a public repo on Github and push your code on it. then share the link back with the team.