Cypress & GitHub

Efficient Setup for Pull Requests

with

Cypress Cloud and Sorry-Cypress

Why E2E tests and why Cypress

Advantages and Strengths of Cypress in E2E Testing

e2e tests are not a silver bullet

E2E

Integration

Unit

E2E

Integration

Unit

E2E

Integration

Unit

$$$

$

Cypress

Why Cypress?

  • Free and open source

  • Test modern apps directly in the browser

  • Write your first passing test in minutes

    • npm install --save-dev cypress
    • npx cypress open # generates cypress project
  • Debug failures directly in the browser:

    • Time Travel

    • Screenshots and Videos

    • Live Reload

How to keep project healthy

Leveraging Regular Cypress E2E Test Execution with GitHub

Test execution

For every commit on:

  • prod/main/dev branches

  • Pull Request

 - ?

Locally:

  • pre-commit - probably not

  • pre-push - well... probably nothing more than smoke tests

Cypress & Github configuration

Leveraging Regular Cypress E2E Test Execution with GitHub

GOAL: Cypress checks

Simple github Action

name: End-to-end tests
on: push
jobs:
  cypress-run:
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      # build your dedicated instance here

      - name: Cypress run
        uses: cypress-io/github-action@v5

goal: videos & screenshots

Storing Artefacts

name: Artifacts
on: push
jobs:
  cypress-run:
    runs-on: ubuntu-22.04
    name: Artifacts
    steps:
      - uses: actions/checkout@v3
      - uses: cypress-io/github-action@v5
      - uses: actions/upload-artifact@v3
        if: failure()
        with:
          name: cypress-screenshots
          path: cypress/screenshots
      - uses: actions/upload-artifact@v3
        if: always()
        with:
          name: cypress-videos
          path: cypress/videos

GOAL: Inline comments

Cypress Cloud setup

cypress config file

GitHUB ACTIONs

GitHUB integration

DASHBOARD VIEW

failed test video

Cypress Dashboards

Cypress Cloud vs. Alternative Solutions

Cypress vs. Currents vs. Sorry Cypress

cypress.io/cloud

currents.dev

pricing

currents.dev

Cypress checks

inline comments

dashboard view

failed test video

installation

installation

github actions

workflow config file

Self Hosted

Sorry Cypress Setup

git clone git@github.com:sorry-cypress/sorry-cypress.git
cd sorry-cypress
docker-compose -f docker-compose.full.yml up
// currents.config.js
module.exports = {
  projectId: "kj29s",
  cloudServiceUrl: "http://localhost:1234", # ADD THIS
};

localhost:8080

TEAM & BACKGROUND

Our design team has a collective 75 years of experience in crafting digital products. Our diverse backgrounds offer a thorough mix of points of view.

  • Conceptualization

  • Product Design

  • Development

  • UI/UX Testing

  • Branding

OUR SERVICES

You NEED e2e Tests?

HIRE ME

Cypress & GitHub - by lukmarcus

By noisy

Cypress & GitHub - by lukmarcus

  • 273