CheckOps home

Tools directory

C

CheckOps

Cypress Cucumber Preprocessor

The Cypress Cucumber Preprocessor (badeball) is an MIT-licensed plugin that lets Cypress run Gherkin feature files with Cucumber-style step definitions, tags and reports.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

This preprocessor aims to give Cypress a developer experience and behaviour similar to Cucumber. It parses Gherkin documents and maps each step to a step definition written with Given, When and Then from the package, so Cypress runs feature files as specs.

The repository moved from the TheBrainFamily organisation to badeball, who maintains it today; the old cypress-cucumber-preprocessor package is superseded by @badeball/cypress-cucumber-preprocessor. It supports tags, scenario outlines, hooks and JSON, HTML and messages reports.

It works with Cypress’s bundler preprocessors (esbuild, webpack or browserify), which you configure in cypress.config.

In the quality loop it supports BDD-style acceptance tests for teams standardised on Cypress.

The source code is at badeball/cypress-cucumber-preprocessor on GitHub under the MIT licence, with about 1,400 stars; the most recent commit was on 11 November 2026.

Features

  1. Gherkin specs: Run .feature files directly in Cypress.
  2. Step definitions: Cucumber-style Given/When/Then with parameter types.
  3. Tags: Filter scenarios with tag expressions.
  4. Reports: JSON, HTML and Cucumber messages output.
  5. Bundler support: Works with esbuild, webpack and browserify preprocessors.

Pros

  1. Familiar BDD in Cypress: Lets Cypress teams adopt Gherkin without a new runner.
  2. Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
  3. Actively maintained: The repository had commits as recent as 11 November 2026.

Cons

  1. Setup complexity: Bundler and preprocessor configuration can be fiddly.
  2. Cypress limits apply: Multi-tab and cross-origin limits of Cypress still apply.
npm install --save-dev @badeball/cypress-cucumber-preprocessor @bahmutov/cypress-esbuild-preprocessor
import { When, Then } from "@badeball/cypress-cucumber-preprocessor";
When("I visit the home page", () => cy.visit("/"));
Then("I see {string}", (text) => cy.contains(text));

Resources:

Pricing

Cypress Cucumber Preprocessor is free and open source under the MIT licence.

  1. Cypress teams practising BDD.
  2. Projects migrating from the old TheBrainFamily package.
  3. Not a fit for teams that do not need Gherkin.

Conclusion

The badeball preprocessor is the maintained way to run Cucumber feature files in Cypress, with frequent releases and good reporting.

On CheckOps, Cypress Cucumber Preprocessor is filed under the End-to-end & functional stage. Related tools listed here include Cypress, Cucumber, Playwright-BDD, Serenity/JS, CodeceptJS and behave. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Cypress Cucumber Preprocessor side by side.