Home
Softono
behavex

behavex

Open source MIT Python
122
Stars
29
Forks
2
Issues
4
Watchers
3 weeks
Last Commit

About behavex

Production-grade test orchestration for Python BDD.

Platforms

Web Self-hosted

Languages

Python

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.

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

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.