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.
🪝 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.
pip install behavex# 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-runBehaveX 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 |
- 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.
Full documentation at behavex.readthedocs.io
- Getting Started
- Migrating from Behave
- Tag Expressions
- Parallel Execution
- Reporting
- Test Management
- CLI Reference
- Utilities
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.
