tests/playwright/. They have their own dependencies, configuration and package scripts, separate from the application root.
These instructions apply to the current development branch. For an older checkout, follow the testing configuration and README included in that version.
Start a local Chatwoot instance
Complete the Project Setup Guide or Docker Development Setup, then leave the application running athttp://localhost:3000.
You need an existing administrator account for the login and settings tests. Use a local development or test instance: E2E scenarios can create agents and inboxes.
Install the test dependencies
From the Chatwoot repository root:Configure the test account
Edittests/playwright/.env and set:
playwright.config.ts. If your local application uses a different port, update BASE_URL to match it.
Run the tests
Run commands fromtests/playwright/, with Chatwoot still running in another terminal.
Run the suite
Use the test runner UI
Run one test file
List tests without running them
use.headless to true in playwright.config.ts.
Write and maintain tests
The test project uses TypeScript and page components undercomponents/ui/. Add browser scenarios under tests/e2e/ui/ and reuse those components for login and navigation.
For JavaScript unit tests, use pnpm test from the Chatwoot application root. For Ruby tests, use bundle exec rspec.
