Skip to main content

Production-grade test orchestration for Python BDD.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

behavex-4.6.5.tar.gz (638.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

behavex-4.6.5-py3-none-any.whl (673.8 kB view details)

Uploaded Python 3

File details

Details for the file behavex-4.6.5.tar.gz.

File metadata

  • Download URL: behavex-4.6.5.tar.gz
  • Upload date:
  • Size: 638.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for behavex-4.6.5.tar.gz
Algorithm Hash digest
SHA256 50c888b6a0b125fe942ba085c0e019703707a84eeba1390a4d8561e97a92d28b
MD5 236d6b8a3d2b4d7b0e045c566665b0a7
BLAKE2b-256 528f347622b76e742176f8fd0f876bc06ce10af503f20f29bdec3456529210c7

See more details on using hashes here.

File details

Details for the file behavex-4.6.5-py3-none-any.whl.

File metadata

  • Download URL: behavex-4.6.5-py3-none-any.whl
  • Upload date:
  • Size: 673.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for behavex-4.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 eac88b1a4c2bdc61ae27af86fb9c1db0ec7b98f25c7dfe69f3ba1eab4ff22f16
MD5 7be707d1207d8e888cc82b98bbb283fa
BLAKE2b-256 8cb1d9bf878662650d053c17d7a4a63032943599d2b8a3cc19d766f0c49b8b5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page