End-to-end testing with Cypress

Chatwoot uses Cypress for end-to-end testing. Use the following steps to run the tests on your local machine.

Prepare the Test Server

Choose any of the given methods to run your Chatwoot test server.

Using Local Chatwoot Installation

You have to install the necessary dependencies as described in setup guide for this method to work.

Navigate to Chatwoot codebase in your local machine and execute the following steps:

Create a fresh test database

RAILS_ENV=test bin/rake db:drop
RAILS_ENV=test bin/rake db:create
RAILS_ENV=test bin/rake db:schema:load

Start Chatwoot in the test environment

RAILS_ENV=test foreman start -f Procfile.test

Load the URL in the browser and wait for it to start up:

http://localhost:5050/app/login

Run Cypress

Load localhost:5050 on your browser and ensure that the Chatwoot server is running.

Navigate to your Chatwoot local directory and execute the following command to run the Cypress tests:

pnpm cypress open --project ./spec

This will open the Cypress Test Runner where you can:

  1. Choose a browser for running tests
  2. Select test files to run individual or all tests
  3. Watch tests run in real-time with step-by-step execution
  4. Debug failed tests with detailed error information

Getting Help

If you encounter issues with Cypress testing:

Useful Resources


Your Cypress testing environment is now ready for comprehensive end-to-end testing! 🧪