BehaveX

May 22, 2026 ยท View on GitHub

Downloads PyPI version Python Versions Dependency Status License Build Status GitHub last commit

BehaveX

Production-grade test orchestration for Python BDD.

BehaveX HTML Report Demo

BehaveX extends Behave with parallel execution, enterprise-grade reporting, and the operational controls needed to run test suites at scale. Downloaded 121,000+ times per month.

โœจ Latest Features

๐Ÿช before_all_workers / after_all_workers hooks (v4.6.4) โ€” New lifecycle hooks that run once in the coordinator process, before any worker starts and after all finish. Values set on context are injected into every worker automatically.

๐Ÿ“Š context.behavex execution metadata (v4.6.4) โ€” BehaveX now injects a context.behavex namespace into every worker: parallel_scheme, parallel_processes, is_worker, worker_id.

๐Ÿšซ --no-report flag (v4.6.4) โ€” Disables all file output. No HTML/JSON/XML reports or output folder are created. Evidence is redirected to the system temp directory. Designed for read-only CI environments.

๐Ÿ” Stack Trace on Error (v4.6.2) โ€” Click on any failed step in the HTML report to expand the full stack trace inline.

๐Ÿ“ Gherkin Rule Section Support (v4.6.2) โ€” Full support for Rule: blocks in feature files.

๐Ÿท๏ธ Tag Expressions v2 (v4.6.0) โ€” Native Cucumber-style tag expressions with boolean logic, parentheses, and wildcards.

๐Ÿš€ Enhanced Behave Integration (v4.5.0) โ€” Support for Behave >= 1.3.0. Major performance overhaul.

๐Ÿ“Š Interactive Execution Timeline (v4.5.0) โ€” Visual timeline showing scenario execution across parallel workers.

๐ŸŽฏ Test Execution Ordering (v4.4.1) โ€” Control scenario/feature order in parallel runs with @ORDER_001 tags.

Installation

pip install behavex

Quick Start

# Run all scenarios
behavex

# Run scenarios tagged @smoke with 4 parallel processes
behavex -t=@smoke --parallel-processes=4 --parallel-scheme=scenario

# Cucumber-style tag filtering (Behave 1.3.0+)
behavex -t="(@smoke or @regression) and not @slow" --parallel-processes=4

# Dry run โ€” list all scenarios in HTML report without executing
behavex -t=@smoke --dry-run

BehaveX vs Behave

BehaveX is a zero-friction upgrade โ€” your existing feature files and step definitions work unchanged.

CapabilityBehaveBehaveX
Parallel executionโŒโœ… By feature or scenario, N processes
HTML reportโŒโœ… With screenshots, logs, evidence
Allure integrationโŒโœ… Full support with thread labels
Auto-retry on failureโŒโœ… @AUTORETRY / @AUTORETRY_3
Test mutingโŒโœ… @MUTE โ€” run but exclude from CI results
Execution orderingโŒโœ… @ORDER_001 tags for dependency-aware runs
Execution timelineโŒโœ… Visual timeline across parallel workers
Pass rate & automation metricsโŒโœ… Per-run dashboard in HTML report
Dry run with HTML reportBasicโœ… Shareable spec report
Per-scenario log filesโŒโœ… Linked directly in HTML report
Screenshot evidenceโŒโœ… Via behavex-images

Who Uses BehaveX

  • Apache NiFi MiNiFi C++ โ€” The Apache Foundation uses BehaveX for their C++ dataflow agent.
  • LambdaTest โ€” Featured in LambdaTest's official Python BDD documentation.
  • SovereignCloudStack โ€” Used for real-life IaaS/KaaS health monitoring in the Gaia-X ecosystem.
  • Qase โ€” Official integration with the Qase enterprise test management platform.

Using BehaveX? Open a PR to be listed here.

Documentation

Full documentation at behavex.readthedocs.io

Get Involved

BehaveX grows through community use and contribution. If it's useful to your team:

  • โญ Star the repo โ€” helps other teams discover the project
  • ๐Ÿ› Report issues โ€” your use case helps improve BehaveX for everyone
  • ๐Ÿ”ง Contribute โ€” PRs are welcome, from docs to features
  • ๐Ÿ“ข Spread the word โ€” mention BehaveX when you talk about Python testing

Used by the Apache Foundation, LambdaTest, SovereignCloudStack, and teams worldwide.