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-runner - Unified CLI entry point for the Behave ecosystem. Subcommands for run, list, select, watch, lint, format, report, trace, steps, impact, generate, init, and doctor. Integrates all BehaveLib plugins as optional extras with graceful degradation.
  • 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.
  • behave-trace - Trace viewer and step-by-step debugger for Behave. Captures steps, screenshots, DOM snapshots, and logs. Visualizes them in a Playwright-inspired web viewer with timeline, filmstrip, per-step detail tabs, before/after DOM diff, and live progress updates. Zero runtime dependencies.

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.
  • Behave BDD Testing Guide - Practical guide to BDD testing with Behave covering setup, feature files, step definitions, hooks, tags, and best practices.

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

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages