Skip to content
Errors

Error detail

One error across its runs - how often, how those runs ended, which tests it hit, and every run it appeared in.

Open an error from the Error explorer. Error explorer at the top takes you back to the list as you left it - same source, period, category and order.

The title is the error’s title as the Error explorer and the Overview’s Top errors show it: the test’s own assertion message when it wrote one, otherwise its kind and what it was about - “Timeout · test limit 30s”, “Timeout · page.waitForURL” - or the kind alone, “Not visible”, when what it was about is a locator.

Under it, one grey line: the locator in code font, then the spec file - or “N files” when the error appears in more than one. When the title is the test’s own message, the kind leads the line: “Not visible · getByTestId('checkout') · tests/cart.spec.ts”. A run where most of the suite failed at once marks the title with mass failure.

Under that, one sentence sums up the error:

Failed 80 times in 40 CI runs during the last 30 days, across 2 tests.

When a retry rescued some of them, the sentence adds “A retry passed 3 times.”

Showing CI and local runs from the last 30 days

  • Source - CI and local runs (the default), CI runs, or local runs.
  • Period - the last 7, 14, 30 or 90 days.

They apply to the whole page. The page counts the same runs as the list: finished runs of the source - incomplete ones included once the run timeout has passed - a sharded run once, runs where most of the suite failed at once included.

Tile Shows
Runs the runs the error appeared in, and under it how they ended - “3 failed · 1 flaky” - and the same for each test in each run: “by test: 4 failed · 1 flaky”
Occurrences the failed attempts with this error, retries included, and “N attempts per run” or “once per run”
First seen the day of the earliest counted run with this error still stored, and how long ago
Last seen the day of the newest one, and how long ago

After 30 days, “how long ago” becomes a date.

A run failed when a test the error hit failed in it, and was flaky when none did and one passed after a retry - see Error explorer. “By test” counts each test in each run on its own, so one run in which the error hit two tests counts twice there.

The full error message, with its line breaks, and a copy button. It is left out when the title already says everything the message says. When the title is the test’s own message, the block starts after that line, at Playwright’s own report of what failed (“expect(locator).toBeVisible() failed”); the copy button still copies the whole message. A message longer than 25 lines shows its first 20 and Show all (N lines), which turns into Show less once open; the copy button copies all of it. A diff (after - Expected / + Received) is coloured like Playwright’s report - expected lines green, received lines red - and scrolls sideways instead of wrapping. The run report does the same with full error messages, and prints them whole.

For a suggested fix, open the failed test in one of its runs and use Fix, then Fix with Squally there - see Test in a run.

A bar for each day of the period. The bottom part, in red, is the runs with this error; the grey part above it is the runs without it. The legend gives each total for the period. A day without a counted run shows a short mark, and the legend then adds “no runs”. Hover or focus a day to see its numbers.

Every test the error hit in the period, one row each: the test’s name, its browser, the spec file, the number of runs and “failed 2×” / “flaky 1×”. A row opens the test’s page. The same test in two browsers is two rows.

One row per run, newest first, each fact in its own column: the result, the run number, the branch, how many tests the error hit (“2 affected tests”, with mass failure below where it applies), their browsers one under the other, the retries (summed over the run’s tests) and how long ago the run started. On a phone the branch, the tests and the retries sit on a grey line under the run number.

  • A run where the error hit one test opens that test in the run.
  • A run where it hit several tests opens the run.

Above the list, All and one segment per result that occurs - Flaky, Failed or Skipped, each with a count - narrow it - or, when every run ended the same, one sentence such as “All 12 runs failed.” The search field finds a run by its number. The list shows 20 runs; Show 20 more adds the next 20. With many runs, a line under the list says how many of the most recent ones it shows.

When the error has no run in the period, the page says when it was last seen and links to the last 90 days.

“First seen” means the first run still stored. An older occurrence was deleted with its run - see Retention.