Repository navigation
Running Tests Locally
Plum runs your project's own runner CLI — the exact command you would type. There is no plum run-test wrapper. Everything else (browsers, timeouts, traces, reporters, retries) comes from the project's playwright.config.ts / cucumber.js.
Run from inside the tests folder:
cd projects/<slug>/tests # or just ./tests for a CLI-only installnpx playwright test # Playwright project
npx cucumber-js # Cucumber projectnpx playwright test --grep @TC-001
npx playwright test --grep "@login"
npx cucumber-js --tags @TC-001
npx cucumber-js --tags "@smoke and not @slow"Tag expressions are the same everywhere in Plum — the run bar, MCP and CI all take the same string.
npx playwright test specs/LoginPage.spec.ts
npx playwright test specs/LoginPage.spec.ts:14
npx cucumber-js features/LoginPage.feature
npx cucumber-js features/LoginPage.feature:12npx playwright test --workers 4
npx cucumber-js --parallel 4Chromium is the default. Firefox:
BROWSER=firefox npx cucumber-jsPlaywright picks the browser from its config / --project; the scaffold reads BROWSER too.
Set IS_HEADLESS=false in tests/.env before running. Handy for a single tag while you're writing a step.
For a failed Playwright run, the trace viewer is the fastest way in:
npx playwright test --trace on --grep @TC-001
npx playwright show-report(On the server you get session replay instead, which works for both frameworks.)
If you have a server, trigger the same run from CI and have it land as a Plum report — see Integrations for the REST endpoint. Locally, npx runs are standalone and don't reach the server.
Developing Plum itself? npm run cli:test (in the repo root) scaffolds a throwaway project per framework and drives it end to end. npm run cli:test:full adds tags, file:line, browsers, workers, shards, retries and tsc (~2 min).
Getting started
Tests
Platform
- Roles and Access
- Google Sign-In
- Test Repository
- Reports and Session Replay
- Retrying Flaky Tests
- Integrations
- AI Agent
- API & MCP
- Activity Logs
- Backup