Skip to content

Running Tests Locally

jann edited this page Sep 2, 2026 · 1 revision

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 install

Run everything

npx playwright test          # Playwright project
npx cucumber-js              # Cucumber project

Run by tag

npx 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.

Run one file, or one line

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:12

Parallel workers

npx playwright test --workers 4
npx cucumber-js --parallel 4

Browser

Chromium is the default. Firefox:

BROWSER=firefox npx cucumber-js

Playwright picks the browser from its config / --project; the scaffold reads BROWSER too.

Watch the browser

Set IS_HEADLESS=false in tests/.env before running. Handy for a single tag while you're writing a step.

Playwright trace viewer

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.)

From the CLI, into a UI report

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.

Contributor shortcut

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).

Clone this wiki locally