BehaveX
Production-grade test orchestration for Python BDD.

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.
| Capability | Behave | BehaveX |
|---|---|---|
| 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 report | Basic | β 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
- Getting Started
- Migrating from Behave
- Tag Expressions
- Parallel Execution
- Reporting
- Test Management
- CLI Reference
- Utilities
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.