BDDX vs pytest-bdd
BDDX
bddtests.compytest-bdd
pytest-bdd.readthedocs.ioSide by side
| Figure | BDDX | pytest-bdd |
|---|---|---|
| Price from | $9.99/mo | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| Plans published | 4 | 1 |
| Spec score · BDD Testing Tools | 8.2 (#5) | 7.4 (#19) |
| Installation | The CLI installation command is `npm i bddx`. | The documentation gives `pip install pytest-bdd` as the installation command. |
| Purpose | BDDX creates and runs Behavior-Driven Development tests and summarizes failures. | pytest-bdd implements a subset of Gherkin to automate requirements testing and support behavior-driven development. |
Plans
In their own words
BDDX
BDDX creates and runs Behavior-Driven Development tests written in Cucumber’s Gherkin plain-text language, then summarizes test failures and their causes. Users can upload test files in bulk and run them line by line, pausing and resuming a bulk run from a checkpoint. The documented workflow connects a cloud BDDX project and API key with the CLI: the CLI runs tests in a repository and uploads results to the cloud. Its installation command is `npm i bddx`. Documentation describes creating Jira tasks and GitHub or GitLab issues from detected defects, and Jira tasks can be created automatically for failed tests. BDDX is a web product with browser testing, API access, Gherkin support, and both execution modes. The Start plan is free for up to 50 runs per month. Grow costs $9.99 a month for 51–250 runs, and Accelerate costs $14.99 a month for 251–500 runs. Scale has no listed plan price, with unlimited runs at 0.03$ per run. Email and Jira API token credentials are saved locally on the machine.
pytest-bdd
pytest-bdd is a Python package for automating requirements tests with behavior-driven development. It implements a subset of Gherkin and runs scenarios as pytest tests, without a separate test runner. Feature steps can reuse pytest fixtures through dependency injection, and step definitions can accept arguments parsed as strings, with parse or cfparse formats, or by regular expression. The scenarios helper can bind scenarios from feature files and folders, including recursive folder discovery. Scenario outlines support parameterized cases and tagged example tables; step functions can also receive Gherkin data tables as row lists and docstrings as strings. For browser tests, the documented example uses pytest-splinter to provide a browser fixture. Installation is via `pip install pytest-bdd`. The package is open source under the MIT License, free at free, and requires Python 3.10 or newer. Listed platforms are Linux, macOS, and Windows.