Captain

Captain is an open source CLI that can detect and quarantine flaky tests, automatically retry failed tests, partition files for parallel execution, and more.

Check out the quickstart guide to get started!

Features

With Captain, you can:

  • Track, automatically retry, and quarantine flaky tests
  • Partition test suites to run in parallel jobs
  • Understand and debug test failures

With Captain's paid Cloud mode, you can:

  • Automatically re-balance parallelized test suites based on the latest test performance
  • Quarantine tests from the Cloud UI to mitigate issues with flaky or failing tests without having to make code changes
  • Get analytics on which flaky tests are the most problematic
  • See trends in test performance with 90 day retention
  • View aggregated and summarized test results for all partitions of a parallelized test suite run

For more information on Captain's feature set, view the Captain product page.

Captain integrates with your CI platform and your test framework to collect data. We currently support 15 test frameworks, but we're actively working on expanding the set of frameworks we support.

CI platforms

GitHub Actions

Learn how to integrate Captain within GitHub Actions

Read more

GitHub Actions logo

CircleCI

Learn how to integrate Captain within CircleCI

Read more

CircleCI logo

Buildkite

Learn how to integrate Captain within Buildkite

Read more

Buildkite logo

GitLab

Learn how to integrate Captain within GitLab

Read more

GitLab logo

Platform Agnostic

Learn how to integrate Captain within Platform Agnostic

Read more

Platform Agnostic logo

Test frameworks

Cucumber

Learn how to integrate Captain with Cucumber

Read more

Cucumber logo

Cypress

Learn how to integrate Captain with Cypress

Read more

Cypress logo

ExUnit

Learn how to integrate Captain with ExUnit

Read more

ExUnit logo

Ginkgo

Learn how to integrate Captain with Ginkgo

Read more

Ginkgo logo

go test

Learn how to integrate Captain with go test

Read more

go test logo

Jest

Learn how to integrate Captain with Jest

Read more

Jest logo

Karma

Learn how to integrate Captain with Karma

Read more

Karma logo

minitest

Learn how to integrate Captain with minitest

Read more

minitest logo

Mocha

Learn how to integrate Captain with Mocha

Read more

Mocha logo

PHPUnit

Learn how to integrate Captain with PHPUnit

Read more

PHPUnit logo

Playwright

Learn how to integrate Captain with Playwright

Read more

Playwright logo

pytest

Learn how to integrate Captain with pytest

Read more

pytest logo

RSpec

Learn how to integrate Captain with RSpec

Read more

RSpec logo

unittest

Learn how to integrate Captain with unittest

Read more

unittest logo

xUnit

Learn how to integrate Captain with xUnit

Read more

xUnit logo