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.
Metadata
Release files for behavex 4.6.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| behavex-4.6.6.tar.gz | 688.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| behavex-4.6.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / behavex-4.6.6.tar.gz
| Download URL | behavex-4.6.6.tar.gz |
|---|---|
| Size | 688.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3adbbb8cfcf696ce76aed933e004b16bc695e14d9cd64d75f906aab8fa0f583
|
|
BLAKE2b-256 checksum How to use checksums |
20cde057b7e3fb8fb70eb57ae12900565b4f8307acfc7fa08c998bd447c96bd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / behavex-4.6.6-py3-none-any.whl
| Download URL | behavex-4.6.6-py3-none-any.whl |
|---|---|
| Size | 721.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3379f2583a04cb6b39975b3981e8be8695ad01b688b3cca1a37c1f8fb168eca8
|
|
BLAKE2b-256 checksum How to use checksums |
808b97af897ab2676a8a72636a96aa01b72478f06932165f35f146e827f2a89e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|