awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
cucumber avatar

cucumber/cucumber-js

0
View on GitHub↗
5,350 stars·1,109 forks·TypeScript·MIT·9 viewscucumber.io↗

Cucumber Js

Cucumber-js is a behavior-driven development tool and acceptance test automation framework for JavaScript. It serves as a test automation engine that allows users to define system behavior using human-readable scenarios, mapping plain-text steps to executable code to verify that software conforms to business rules and acceptance criteria.

The project utilizes a Gherkin-based framework to create executable system documentation in natural language. It supports multi-language localization for writing scenarios in various spoken languages and provides tools for scenario parameterization and business rule grouping to organize acceptance criteria.

The engine covers a broad range of testing capabilities, including end-to-end browser automation and API test automation for verifying web service endpoints. It manages test execution through parallel processing, infrastructure dependency mocking, and state-sharing dependency injection to maintain data continuity across steps.

Integration is supported for continuous delivery pipelines, allowing automated test suites to be executed via build servers to verify code changes before deployment.

Features

  • Natural Language Test Generators - Transforms human-readable Gherkin specifications into executable automated test scripts.
  • Behavior Driven Development Frameworks - Facilitates software development by mapping plain-language behavior specifications to executable JavaScript code.
  • Pattern-Based Step Matching - Identifies which code to execute for a plain-language step using custom expressions or regular expressions.
  • Test Step Variable Propagation - Manages state sharing and variable propagation between consecutive steps within a test scenario.
  • Documentation-as-Code Systems - Implements a documentation-as-code system where natural language specifications serve as executable tests.
  • Acceptance Testing - Allows the definition of software behavior using natural language scenarios to verify business requirements.
  • Automation Frameworks - Provides a framework for validating that software conforms to documented business rules via structured specifications.
  • Behavior-Driven Scenario Definitions - Supports writing automated tests using structured natural language describing initial contexts and expected outcomes.
  • Test Isolation - Ensures test execution environments remain independent to prevent side effects and cross-test interference.
  • JavaScript Test Frameworks - Serves as an engine for executing test scenarios against web services and browsers within JavaScript runtimes.
  • Natural Language Step Mapping - Matches plain-text scenario steps to executable JavaScript functions using regular expressions or custom patterns.
  • Gherkin-based Testing - Implements a framework for writing executable specifications in Gherkin syntax and running them in JavaScript.
  • DSL Parsing - Translates Gherkin natural language files into a structured format that the test runner can execute.
  • Outcome Assertions - Verifies that the final result of a scenario execution matches the expected outcome.
  • Step Variable Extraction - Captures dynamic data from plain-language steps using expressions to pass them as arguments to code.
  • Complex Data Arguments - Provides support for passing tabular data and large text blocks as arguments to step definitions for detailed validation.
  • Lifecycle Hooks - Implements configurable hooks to trigger specific setup and teardown logic before and after test scenarios.
  • API Testing - Provides a framework to validate the functionality and integration of API endpoints using automated test scenarios.
  • Browser Automation - Enables programmatic control of web browsers to simulate user behavior and verify interface functionality.
  • Plugin-Based Output Formats - Ships a plugin-based system for streaming test events to external formatters for various output reports.
  • Test Result Reporters - Generates formatted reports of test execution outcomes through various plugins and formatters.
  • Scenario Localization - Enables writing test scenarios in various spoken languages via file header configurations.
  • Parallel Test Execution - Distributes test scenarios across multiple parallel processes to reduce total runtime and isolate test state.
  • Scenario Parameterization - Supports running the same scenario multiple times using templates and input tables.
  • Scenario Prerequisite Steps - Defines prerequisite steps that run before every scenario within a feature to eliminate repetition.
  • Dependency Mocking - Replaces real infrastructure dependencies with simulated versions to decouple tests from external systems.
  • End-to-End Testing - Automates complete user workflows across a browser to verify system-wide functional correctness.
  • Test Case Grouping - Organizes related test cases under high-level feature descriptions to document acceptance criteria.
  • State Dependency Injection - Provides a shared context object to step definitions to maintain data continuity across a single scenario.

Star history

Star history chart for cucumber/cucumber-jsStar history chart for cucumber/cucumber-js

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Cucumber Js

Similar open-source projects, ranked by how many features they share with Cucumber Js.
  • behat/behatBehat avatar

    Behat/Behat

    3,959View on GitHub↗

    Behat is a behavior-driven development framework and test automation tool for PHP. It functions as a Gherkin test runner that maps natural language feature files to executable PHP methods to verify that software implementation aligns with business requirements. The framework enables the definition of application behavior using a structured, human-readable format based on user stories, supporting localized keywords for non-English speaking stakeholders. It distinguishes itself through a driver-based browser simulation layer for user interface verification and specialized integrations for the S

    PHPbddbehatbehavior-driven-development
    View on GitHub↗3,959
  • codeception/codeceptionCodeception avatar

    Codeception/Codeception

    4,855View on GitHub↗

    Codeception is a full-stack testing framework for PHP applications that provides a unified interface for unit, functional, and acceptance testing. It serves as a tool for automating real desktop and mobile browsers via the WebDriver protocol and acts as a client for testing REST and SOAP APIs. The framework is distinguished by its support for Behavior-Driven Development, allowing users to write human-readable test specifications in Gherkin language to align technical tests with business requirements. It implements actor-based action mapping to connect these natural language steps to executabl

    PHP
    View on GitHub↗4,855
  • codeception/codeceptjscodeception avatar

    codeception/codeceptjs

    4,223View on GitHub↗

    CodeceptJS is a Node.js end-to-end testing framework used for writing acceptance and functional tests for web and mobile applications. It functions as an automated browser testing suite and cross-browser automation engine that allows users to simulate end-user interactions and verify page content using a JavaScript-based domain-specific language. The framework implements a behavior-driven development approach, enabling the creation of scenario-driven tests that describe application behavior in a human-readable format. It utilizes the page object model to encapsulate UI elements and logic into

    JavaScript
    View on GitHub↗4,223
  • karatelabs/karatekaratelabs avatar

    karatelabs/karate

    8,882View on GitHub↗

    Karate is a Gherkin API testing framework and JVM test orchestrator designed for API validation, workflow automation, and browser automation. It provides a unified environment for executing scriptable logic on the Java Virtual Machine with thread-safe concurrent processing. The project includes a built-in HTTP mock server to simulate backend API behavior by delivering dynamic responses to intercepted requests. It also features a visual regression testing tool that detects interface changes by comparing screenshots against baseline images using pixel-matching analysis. The system supports API

    Java
    View on GitHub↗8,882
See all 30 alternatives to Cucumber Js→

Frequently asked questions

What does cucumber/cucumber-js do?

Cucumber-js is a behavior-driven development tool and acceptance test automation framework for JavaScript. It serves as a test automation engine that allows users to define system behavior using human-readable scenarios, mapping plain-text steps to executable code to verify that software conforms to business rules and acceptance criteria.

What are the main features of cucumber/cucumber-js?

The main features of cucumber/cucumber-js are: Natural Language Test Generators, Behavior Driven Development Frameworks, Pattern-Based Step Matching, Test Step Variable Propagation, Documentation-as-Code Systems, Acceptance Testing, Automation Frameworks, Behavior-Driven Scenario Definitions.

What are some open-source alternatives to cucumber/cucumber-js?

Open-source alternatives to cucumber/cucumber-js include: behat/behat — Behat is a behavior-driven development framework and test automation tool for PHP. It functions as a Gherkin test… codeception/codeception — Codeception is a full-stack testing framework for PHP applications that provides a unified interface for unit,… codeception/codeceptjs — CodeceptJS is a Node.js end-to-end testing framework used for writing acceptance and functional tests for web and… karatelabs/karate — Karate is a Gherkin API testing framework and JVM test orchestrator designed for API validation, workflow automation,… devexpress/testcafe — TestCafe is a Node.js end-to-end web testing framework used to automate browser tests with JavaScript or TypeScript.… intuit/karate — Karate is an end-to-end testing framework and API test automation tool used to validate REST and SOAP APIs, drive…