End-to-end testing with Cypress
Guide to running Cypress end-to-end tests for Chatwoot
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
Start Chatwoot in the test environment
Load the URL in the browser and wait for it to start up:
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
Start Chatwoot in the test environment
Load the URL in the browser and wait for it to start up:
Using Docker
Follow the docker setup guide until you build the images.
Change the Rails Environment
Open docker-compose.yaml
and update all the RAILS_ENV
values from development
to test
:
Update the Port
Under rails section in your docker-compose.yaml
update the port value as given below:
Reset the Database
Start Chatwoot Docker in the test environment
Load the URL in the browser and wait for it to start up:
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:
This will open the Cypress Test Runner where you can:
- Choose a browser for running tests
- Select test files to run individual or all tests
- Watch tests run in real-time with step-by-step execution
- Debug failed tests with detailed error information
Getting Help
If you encounter issues with Cypress testing:
- Cypress Documentation: Official Cypress Docs
- Cypress Best Practices: Testing Guide
- Common Errors: See Common Errors
- Community Support: Discord
Useful Resources
- Cypress API Reference: https://docs.cypress.io/api/table-of-contents
- Testing Library: Testing utilities for better element selection
- Cypress Examples: Real-world examples
Your Cypress testing environment is now ready for comprehensive end-to-end testing! 🧪