Skip to content

Introduction ​

EasyTrace collects the results of your automated tests — from CI and from developers' machines — and shows them in a dashboard: which runs failed, which failures are new, which tests are flaky, and how coverage moves.

Nothing plugs into your test runner. The flow is always:

  1. Your test runner writes a report file (JSON or JUnit XML) — a flag or one line of config.
  2. When the tests finish, the EasyTrace CLI reads the report files and uploads them.
  3. The dashboard shows the run a few seconds later.
text
vitest / jest / playwright / cypress ──► report file ──► easytrace CLI ──► EasyTrace

The CLI never fails your build over an upload problem: it prints an EasyTrace: … warning and keeps your tests' exit code.

Concepts ​

TermMeaning
OrganizationWorkspace that owns projects, members and usage. Everyone gets a personal organization when they first sign in with GitHub; invite teammates by GitHub username.
ProjectOne codebase (usually one repository). Runs, test history and project tokens belong to a project.
SuiteA named group of tests uploaded together, e.g. unit, e2e, or one per package (server, web). Each suite of a build becomes its own run.
BuildOne CI pipeline execution, or one easytrace run / easytrace upload on a machine. All suites uploaded by it share a build id, and every run links to the other suites of its build.
RunThe results of one suite in one build: counts, failures, flaky tests, coverage, artifacts.
ShardPart of a suite run on another machine (parallel CI jobs). Shards with the same build id and suite merge into one run.
OriginCI or Local. Runs uploaded with a personal login (easytrace login), or without a detected CI, show a Local chip and who uploaded them.
BaselineThe latest finished run of the same suite on the project's default branch. A failure that passed in the baseline is a new failure; coverage deltas are measured against it too.

Supported report formats ​

FormatWritten by
vitest-jsonVitest --reporter=json
jest-jsonjest --json --outputFile=…
playwright-jsonPlaywright json reporter
mochawesomeCypress with the mochawesome reporter (json=true)
junitAlmost every tool (JUnit XML)

The format is detected from the file's content. See Writing report files.

Two ways to authenticate ​

Developer machineCI
Credentialeasytrace login once per machine (approve in the browser)Project token in the EASYTRACE_TOKEN secret
Projectproject in easytrace.config.jsonDecided by the token
Shown asLocal, uploaded by youCI

Details: Credentials and tokens.