1. Step0
    1. install NodeJs
  2. Step1
    1. Create folder for tests in your project or not
    2. install cypress
      1. npm install cypress -global
        1. follow instructions
          1. https://docs.cypress.io/guides/getting-started/installing-cypress.html#Direct-download
    3. install dependencies
      1. nmp i
  3. Step2
    1. adapt your cypress.json file
      1. { "projectId": "xxxxxx", "baseUrl": "https://xxxxx.com", "viewportWidth": 1920, "viewportHeight": 1080, "defaultCommandTimeout": 30000, "chromeWebSecurity": false }
  4. Step3
    1. write your fist Test
      1. https://docs.cypress.io/guides/getting-started/writing-your-first-test.html#Add-a-test-file
  5. Step4
    1. create Dash
      1. https://docs.cypress.io/guides/core-concepts/dashboard-service.html#Overview
  6. Step5
    1. Run Test
      1. with GUI
        1. cypress open
      2. with Dash
        1. cypress run --record --key <your key>
          1. use with docker
  7. WHY
    1. Cypress is executed in the same run loop as your application
    2. quick start
    3. easy cross browser
    4. dockerize
      1. to pipeline
        1. create Docker file
          1. FROM cypress/base:10 WORKDIR /app # dependencies will be installed only if the package files change COPY package.json . COPY package-lock.json . RUN npm install # by setting CI environment variable we switch the Cypress install messages # to small "started / finished" and avoid 1000s of lines of progress messages # https://github.com/cypress-io/cypress/issues/1243 ENV CI=1 RUN npm ci # verify that Cypress has been installed correctly. # running this command separately from "cypress run" will also cache its result # to avoid verifying again when running the tests # RUN npm cypress verify COPY cypress cypress COPY cypress.json . CMD [ "npm", "run", "start" ]
    5. clear runner
      1. https://docs.cypress.io/guides/core-concepts/test-runner.html#Overview
    6. NO addition report service
      1. cypress app
      2. Dash board
      3. easy to create screenshots
        1. cy.screenshot();
      4. 1.Logs 2. errors 3. video for each test