Skip to main content

FAILURE-PATTERN ENCYCLOPEDIA

Debug the signature, not the symptom.

A maintained library of concrete test and CI failures. Every entry starts with recognizable evidence, then ranks causes, diagnostic checks, repairs, and prevention.

13

initial patterns

5

framework contexts

Have the raw failure in front of you?

Run the private browser workflow first, then use the matched guide to verify the diagnosis.

Triage locally

Timing or race condition

Playwright

Playwright timeout exceeded

TimeoutError: locator.click: Timeout 30000ms exceeded.

Playwright stopped waiting because an action or assertion did not reach its expected state before the configured timeout.

Open diagnostic guide

Selector drift

Playwright

Playwright strict mode violation

Error: strict mode violation: locator('button') resolved to 2 elements

A Playwright locator expected to identify one element matched more than one, so Playwright refused an ambiguous action.

Open diagnostic guide

Selector drift

Selenium

Stale element reference exception

StaleElementReferenceException: stale element reference

Selenium is holding a reference to a DOM node that the application replaced or detached after it was located.

Open diagnostic guide

Timing or race condition

Selenium · Playwright

Element is not visible or actionable

ElementNotInteractableException: element not interactable

The test found an element, but a user could not interact with it in its current state.

Open diagnostic guide

Environment or infrastructure

CI · Playwright · Jest

ECONNREFUSED in CI

Error: connect ECONNREFUSED 127.0.0.1:5432

The test process reached the target host, but no service was accepting connections on the requested port.

Open diagnostic guide

Environment or infrastructure

CI · Jest · Playwright

DNS resolution failed in CI

getaddrinfo ENOTFOUND service-name

The runtime could not translate a configured host name into an address in the CI environment.

Open diagnostic guide

Dependency or configuration

pytest

pytest fixture not found

fixture 'name' not found

pytest could not find a fixture with the requested name in the test's visible fixture scope.

Open diagnostic guide

Timing or race condition

Jest

Jest cannot log after tests are done

Cannot log after tests are done. Did you forget to wait for something async

Asynchronous work continued after Jest considered the test complete and attempted to write output later.

Open diagnostic guide

Test data or state isolation

pytest · Jest · CI

Unique constraint failed in a test

Unique constraint failed on the fields

The test attempted to create a record whose unique value already exists in the database visible to that test.

Open diagnostic guide

Environment or infrastructure

CI · Jest · pytest

Database connection pool exhausted

Timed out fetching a new connection from the connection pool

Concurrent test work requested more database connections than the configured pool could provide before its timeout.

Open diagnostic guide

Dependency or configuration

Jest · pytest · CI

Module not found during tests

Cannot find module 'package-name'

The test runtime could not resolve a package, local module, generated artifact, or configured path alias.

Open diagnostic guide

Assertion mismatch

Jest · Playwright · pytest

Expected and received values differ

Expected: value Received: other-value

The observed application result does not match the contract encoded in the assertion.

Open diagnostic guide

Likely flaky behavior

Jest · Playwright · CI

Unhandled promise rejection in tests

UnhandledPromiseRejection

An asynchronous operation rejected without a handler attached in the test or application lifecycle.

Open diagnostic guide

Human-readable diagnosis with runnable checks.

Markdown and JSON variants for agent retrieval.

Primary references and related-pattern links.