- Install dependencies with npm
$ npm i
- Run the project
"npm run cy:open" or "npx cypress open"
- to run all tests headless and create mochawesome.html report as merged html file with junit and mochawesome reports
"npm run cy:e2e"
- If possible, my account's all videos can be made uninitialized to see all cases, or account can be changed to a new one with the same privilege, or just run with my account.
- Account info(ID,Pwd) can be changed in cypress.json > env
../integrations/page-objects/pages has 3 .js files. ../integrations/page-objects/pages/basePage.js includes general base page functions. ../integrations/page-objects/pages/exercisePage.js includes functions that related with exercise. ../integrations/page-objects/pages/stepPage.js includes functions that related with step.
../integrations/tests has 2 test files. ../integrations/tests/today.spec.js includes most critical user flows on Today page. ../integrations/tests/myWeek.spec.js includes most critical user flows on My Week page.
../support/command files has functions that can be reachable from anywhere.
.prettierrc file has format settings. Under the mochawesome-report folder, mochawesome.html report can be found. Under the cypress/results folder there are junit and mochawesome folders which have .xml and .json files created seperately, each file represents a spec file.
- Login
- Completing daily traning from Today page
- Adding daily step from Today page
- Completing exercise from My Week page
- Adding daily step from My Week page
- Sync Device
- Logout
- Checking repetition if exist
- Checking sets number if exist
- Checking the total daily step number
- Checking total weekly step number
- Pause-continue on video
These are the main functionality and flows, therefore needs to be tested. My tests cover these important flows and function checks. Due to content's dynamism I tried to handle most cases, but maybe there are some cases I have not handled yet. There are also some bugs in the app, and I only defined one of them in myWeek test file second test.
- Video keywords does not display properly
- In some videos, sets numbers works unstable