sorry-cypress
  • Documentation
  • Guide
    • Get Started
    • Dashboard and API
    • Cloud Setup
  • Cloud
    • AWS
      • Basic AWS Setup
      • Advanced AWS Setup
      • AWS Networking
      • AWS S3 Manual Setup
    • Google Cloud
      • Google Cloud & MinIO - Deprecated
    • Microsoft Azure
    • Heroku
    • Kubernetes
    • Docker Images
  • Integrating Cypress
    • Integration options
    • cy2 - Deprecated
    • Agent Configuration - Deprecated
    • CLI One Liners - Deprecated
  • Configuration
    • Basic Setup
    • Full Setup
    • Director Service
      • AWS Role Assumption via Service Account
      • AWS S3 Configuration
      • Minio Configuration
      • Azure Blob Storage Configuration
    • API Service
    • Web Dashboard
      • Configuration
    • MongoDB Configuration
    • Troubleshooting
  • Integrations
    • Events
    • Webhooks
    • Slack Integration
    • GitHub Integration
    • BitBucket Integration
    • MS Teams Integration
  • Concepts
    • Parallelization Explained
    • Flaky Tests
    • Test Details
    • Test Status
  • CI
    • GitHub Actions
    • Travis
    • Jenkins
    • AWS Codebuild
  • Development
    • Changelog
    • Development Guide
  • Community Content
  • ❤️ Contributions
  • Support
  • Legal
  • FAQ
Powered by GitBook
On this page
  • Director Service
  • API Service
  • Web Dashboard Service
  • Recordings Storage
  • MongoDB
Edit on GitHub
  1. Configuration

Full Setup

Sorry-cypress full setup with persistency and web dashboard

The full sorry-cypress setup allows to use all the supported featured but comes with an overhead of maintaining the infrastructure required to run the services:

  • sorry-cypress-director in "persisting" mode

    • MongoDB

    • Test Recordings storage

  • sorry-cypress-api

  • sorry-cypress-dashboard

Director Service

Director service is responsible for

  • parallelization and coordination of test runs

  • integration with Slack, GitHub, MS Teams and emitting generic WebHooks

  • saving tests results

  • generating signed upload URL for saving failed tests screenshots

When you launch Cypress agents on a CI environment with multiple machines, each agent contacts the director service and gets instructions on the next spec file to run.

After running the test spec, the agent reports the results to the Director service, receives the instructions for the next run, and so on until all the tests are done.

The director service coordinates those activities for multiple agents and different runs, stores the test results in a database.

Full setup requires the director to run in "persisting" mode to use MongoDB driver and provide credentials.,

EXECUTION_DRIVER="../execution/mongo/driver"
MONGODB_URI="monodgb://your-DB-URI"
MONGODB_DATABASE="your-DB-name"

API Service

API Service is a simple GraphQL wrapper that exposes a convenient way to query the data stored by Director.

The service is only required as an interface for the Web Dashboard, but can be used to query the database and describe the internal data models.

Web Dashboard Service

The dashboard allows end-users to interact with sorry-cypress using a browser and to:

  • track test runs progress

  • browser test results, videos, and failures screenshots

  • set projects configuration like WebHooks, Slack, MS Teams and GitHub integration

  • create and delete entries (projects, runs)

Recordings Storage

We need remote storage to store the generated screenshots and videos. Director service will send a signed upload URL that cypress agent will use to upload the generated artifacts.

A signed URL is a URL that provides limited permission and time to make a request. Signed URLs contain authentication information in their query string, allowing users without credentials to perform specific actions on a resource.

Sorry-cypress integrates with the major remote cloud storage solutions:

  • AWS S3

    • Google Cloud Storage

    • IBM COS

    • NAS

    • HDFS

  • Azure Blob Storage

To disable remote storage, we need to set a "dummy" screenshots driver for Director service.

SCREENSHOTS_DRIVER="../screenshots/dummy.driver"

Refer to specific cloud platform instructions for remote cloud storage configuration guidelines.

MongoDB

Director and API services work with MongoDB as a persistency layer. It's up to you to choose MongoDB solution that works for your needs.

PreviousBasic SetupNextDirector Service

Last updated 2 years ago

Also, see options.

Also, see options.

Also, see options.

Cypress comes with the ability to take , whether you are running via cypress open or cypress run, even in CI.

Minio integration (via ) that is compatible with

To enable remote storage, see options.

is a simple and popular managed solution that also has a free tier.

is a managed NoSQL DB in AWS which is to the MongoDB API. It has no free tier option, but can be still be a suitable option. Sorry-cypress added compatibility in

Director Configuration
API Configuration
Dashboard Configuration
screenshots and videos
Minio S3 Gateway
Director Configuration
MongoDB Atlas
AWS DocumentDB
partially compatible
v1.0.0-rc.8