Cypress Real World App Overview

The Real World App (RWA) is an application created by the Cypress team that demonstrates real-world usage of Cypress testing methods, patterns, and workflows. The RWA is a Venmo clone that allows users to sign up for an account, add a bank account and send/receive money between friends.

Throughout this section, we will be using this application to learn a whole host of new Cypress features, testing strategies, and best practices. Before we begin, however, you must clone this repo down onto your machine to get everything set up and working correctly. We have made this process as painless and straightforward as possible.

You can find the repo here.

You can clone the repo via the command line with:

git clone [email protected]:cypress-io/cypress-realworld-app.git

It might be best to first fork a copy of the repo and then clone the forked version.

Note: The Cypress Real World App uses Yarn to manage its dependencies. Please install Yarn on your computer as installing with npm may lead to issues running the application.

Once cloned, change into the cypress-realworld-app directory and install all of the npm dependencies using Yarn.

yarn install

You can then run the application with

yarn dev

Once the application is up and running, a browser window should open a new tab to http://localhost:3000, where you should see the Sign In page.

Refer to the README.md file in the repo for additional information and instructions.

We provide a set of default users in the database, or you can create your own account. We recommend you first log in with one of the default users to see some of the sample data seeded in the app.

You can list out all of the default users with this command.

yarn list:dev:users

Every user's password is s3cret.

For example, you can use the following username and password to log in.

Username: Katharina_Bernier
Password: s3cret

Once logged in, you will see the main dashboard.

You don't need to spend a ton of time here, but having a general sense of what the app does will be very important for future lessons. Since we will be writing several tests for this application, we need to have a good understanding of what it does so that we can write the proper tests.