Skip to main content
A flaky test produces different results across runs without code changes. It passes on one execution and fails on the next, or passes only after a retry.

Quick Reference

LocationWhat it showsLink
Dashboard → QA ViewMost flaky tests in the selected periodQA Dashboard
Dashboard → Developer ViewFlaky tests by the authorDeveloper Dashboard
Analytics → SummaryFlakiness trends over timeAnalytics Summary
Test Runs → SummaryFlaky counts by categoryTest Run Summary
Test Case → HistoryStability percentageTest Case History
SpecsFlaky rate per spec fileSpecs Explorer

​How is flaky test detection activated?

Flaky test detection activates automatically when retries are enabled in Playwright. No additional configuration required. When a test fails on the first attempt but passes on retry, Playwright marks it as flaky.
playwright.config.ts
export default defineConfig({
  retries: process.env.CI ? 2 : 0,
});

How does TestDino detect Flaky tests?

TestDino identifies flaky tests in two ways:
A test that fails initially but passes on retry is marked flaky. The retry count appears in the test details.Test marked as flaky after passing on retry
Both detection methods indicate that the test result depends on something other than your code.

Where to find flaky tests?

LocationWhat it showsLink
Dashboard → QA View → Most Flaky TestsLists tests with the highest flaky rates in the selected periodQA Dashboard
Analytics → Summary → Flakiness & Test IssuesDisplays flakiness trends over time with a list of affected testsAnalytics Summary
Test Runs → SummaryEach run shows flaky test counts with sub-categories: Timing Related, Environment Dependent, Network Dependent, Assertion Intermittent, and OtherTest Run Summary
Test Case → HistoryShows stability percentage and execution history for a single testTest Case History

Flaky Test Categories

TestDino classifies flaky tests by root cause:
CategoryDescription
Timing RelatedRace conditions, order dependencies, and insufficient waits
Environment DependentFails only in specific environments or runners
Network DependentIntermittent API or service failures
Assertion IntermittentNon-deterministic data causes occasional mismatches
OtherUnstable for reasons outside the above

Common reasons tests become flaky

  • Using fixed waits instead of waiting for the page to be ready
  • Missing await, steps run out of order
  • Weak selectors, element changes, or matches more than one thing
  • Tests share data and affect each other
  • Parallel runs collide, same user or record used by multiple tests
  • Slow or unstable network or third-party APIs
  • CI setup is different from local run
See Prevention for detailed strategies to avoid flaky tests.

Impact of flaky tests on CI Checks

GitHub CI Checks can handle flaky tests in two ways:
Flaky tests count as failures. Use for production branches where stability matters.
See GitHub CI Checks for configuration details.

Next Steps