Skip to content

Repository files navigation

Awesome Behave Awesome

CI Last Commit Resources Contributors License Stars

A curated list of awesome resources, tools, libraries, and projects for Behave — BDD, Python style.

Behave is behavior-driven development (BDD), Python style. It uses tests written in a natural language style (Gherkin), backed up by Python code.


Contents


Official Resources

Formatters & Reporters

Built-in

Behave ships with the following formatters: json, json.pretty, plain, pretty, progress, progress2, progress3, rerun, sphinx.steps, steps, steps.bad, steps.catalog, steps.code, steps.doc, steps.usage, tags, tags.location.

Built-in reporters: junit (JUnit XML output), summary (test run summary).

See the official formatter docs for full details.

Contributed

  • allure-behave - Allure framework adapter for Behave. Generates rich HTML test reports with attachments, metadata, and test hierarchies.
  • behave-cucumber-formatter - Cucumber JSON formatter for pipeline integration with Xray and other Cucumber-compatible tools.
  • behave-html-formatter - Simple HTML formatter for Behave test reports.
  • behave-html-pretty-formatter - Pretty HTML formatter inspired by jest-html-reporter. Supports embedded screenshots, pseudo steps, and configurable summaries.
  • behave-modern-console-report - Real-time console report formatter with colors, progress indicators, and execution summaries for local development and CI/CD.
  • behave-modern-file-reports - PDF, DOCX, and TXT report formatters for Behave. Customizable templates, executive summaries, embedded screenshots, and failed-only filters for stakeholders.
  • behave-modern-html-report - Modern interactive HTML report formatter with zero external dependencies.
  • behave-modern-json-report - Modern structured JSON report formatter with schema-versioned output and Cucumber JSON compatibility for CI/CD integrations.
  • behave-modern-md-report - Markdown report formatter that generates GitHub-friendly execution reports with summaries and statistics.
  • behave-modern-sheets-report - CSV and Excel (XLSX) report formatters for Behave. CSV with one row per scenario, Excel with multiple sheets (Summary, Details, Failures, Trends), conditional formatting, and auto-filters.
  • behave-teamcity - Formatter for reporting Behave test results to JetBrains TeamCity CI via service messages.

Integrations

Web Frameworks

  • behave-django - Official Django integration for Behave. Provides a behave management command and test runner integration.
  • Flask Test Integration - Official guide for integrating Behave with Flask applications.

Browser Automation

  • Selenium + Behave - Common integration pattern using Selenium WebDriver with Behave step definitions.

API Testing

  • behave-restful - BDD framework for testing REST APIs on top of Behave. Provides Gherkin language extensions for HTTP requests and response validation.
  • Requests + Behave - Pattern using the requests library within Behave step definitions for API testing.

Mobile Testing

Visual Testing

Parallel Execution

  • behave-parallel - Parallel execution support for Behave by feature or scenario using multiprocessing.
  • behave-pool - Native parallel execution for Behave with multiprocessing, work queue, result aggregation, @serial tag, and integration with behave-priority and behave-modern-* formatters. Zero dependencies.
  • BehaveX - Production-grade test orchestration wrapper for Behave with parallel execution, enterprise reporting, and scenario ordering support.

Tooling

  • behave-comments - Parser and extractor for comments and annotations in Behave .feature files. Extract structured metadata from # @id REQ-001 style annotations, convert comments to tags, and generate documentation.
  • behave-data - Random test data utilities for Behave. Faker integration in steps, data providers, dynamic Examples generation, Data Tables with generated data, reproducible seeds, locale support, and reusable templates.
  • behave-doctor - Static analysis and diagnostics for Behave suites. Detects unused steps/tags, duplicate steps, tag coverage, feature/scenario complexity, and dependency graphs. Zero dependencies.
  • behave-format - Opinionated formatter for Behave .feature files. Like Black, but for Gherkin.
  • behave-gen - Scaffolding and code generation toolkit for Behave. Project init, step skeletons from .feature files, OpenAPI/Postman codegen, Cucumber migration. Zero dependencies.
  • behave-kit - Swiss army knife for Behave. Soft assertions, context dump on failure, conditional skip decorators, environment management, typed context, parameter types, tag-based fixtures, scoped cleanup, and environment variable helpers. Zero dependencies.
  • behave-lint - Fast, opinionated, extensible linter for Gherkin .feature files and Behave test suites.
  • behave-model - Canonical object model for Behave projects with Gherkin v6 Rules, Tag Expression v2, and full Behave 1.3.x compatibility.
  • behave-priority - Priority-based execution for Behave. Run critical scenarios first with @priority(N) tags, fail-fast controls, and smoke-first mode. Zero dependencies.
  • behave-retry - Automatic retry for failed Behave scenarios with CLI flags, tag overrides, exception filtering, and flakiness stats. Zero dependencies.
  • behave-steplib - Reusable step libraries for Behave. Share, discover and install step definitions across projects via entry points. Zero dependencies.
  • behave-tables - Polished API for Behave Data Tables with as_dicts(), as_models(), transpose(), to_csv(), and to_json(). Zero dependencies, type-safe.

CI/CD Integrations

  • Behave CI/CD Pipeline Guide - Comprehensive guide on integrating Behave into CI/CD pipelines (GitHub Actions, Tox, multi-environment testing).
  • GitLab CI + Behave + Pytest - Complete CI/CD pipeline tutorial using Behave, pytest, pre-commit hooks, and GitLab CI.
  • JUnit XML Reporter - Built-in junit reporter for Jenkins and other CI systems that consume JUnit XML.
  • ParallelBehaveAllureFlow - Reusable GitHub Actions workflow for parallel Behave execution with Allure report generation and retry mechanism.
  • Tox - Generic virtualenv management and test tool for running Behave across multiple Python environments in CI.

IDE & Editor Support

IDE Plugins

Editor Plugins

Learning Resources

Tutorials & Guides

  • Behave Tutorial - Official getting started guide covering feature files, step implementations, context, hooks, and tags.
  • Complete Behave BDD Tutorial 2026 - Hands-on tutorial covering installation, project structure, hooks, fixtures, reporting, parallel execution, and Playwright integration.

Courses

Books

  • BDD in Action - BDD principles with examples across multiple languages including Python/Behave, by John Ferguson Smart.
  • The Cucumber Book - Gherkin and BDD principles that apply directly to Behave, by Matt Wynne and Aslak Hellesøy.

Videos

Community Projects & Examples

  • behave-gui - GUI front-end for Behave test execution.
  • cookiecutter-example - Cookiecutter template for generating Behave BDD automation projects with Selenium, Allure, and configurable options.
  • python-behave-examples - Repository with practical examples of using the Behave library in Python.
  • Python-Behave-sample-project - Sample BDD automation project with Page Object Model pattern.
  • Python_Selenium_BDD_Framework - Comprehensive framework with Selenium for UI, Requests for API, and BehaveX for parallel execution.
  • try-behave - Try Behave directly in the browser using Pyodide, no installation required.

Related Awesome Lists


Contributing

Contributions are welcome! Please read the contributing guidelines before submitting a pull request.

About

A curated list of awesome resources, tools, libraries, and projects for Behave — BDD, Python style.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages