bzt
Taurus Tool for Continuous Testing
What it is and what it does
Taurus is a performance and functional testing orchestration tool that wraps industry-standard test engines—JMeter, Gatling, Locust.io, and Selenium WebDriver—under a unified YAML configuration interface. Instead of learning each engine's native syntax and configuration format, you write simple declarative test scenarios in YAML, and Taurus translates them into the appropriate engine's native format, executes the test, and aggregates results. It handles concurrency, ramp-up, hold time, think-time, and other common test parameters through straightforward YAML keys.
The tool is designed for teams practicing continuous testing: you define your test once in YAML, commit it to version control, and run it from CI/CD pipelines without rewriting for different engines. Taurus manages test artifact collection, console reporting, and result summaries. It runs on Linux, macOS, and Windows, requires Python 3.6 or later, and has been in production use since its first release in 2015. The package itself is lightweight and installs via pip with low friction, though the underlying test engines must be provisioned separately.
Use it for:
- Define load tests in YAML and execute them against multiple backends (JMeter, Gatling, Locust) without rewriting test logic.
- Integrate performance testing into CI/CD pipelines by committing YAML test definitions to version control and running them on every build.
- Automate functional testing with Selenium WebDriver through a simplified YAML interface instead of writing raw WebDriver code.
- Collect and report on test metrics (response times, throughput, concurrency) across different test engines using a consistent output format.
- Prototype and iterate on load test scenarios quickly using YAML configuration rather than learning each engine's native scripting language.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Taurus is a command-line wrapper that simplifies performance and functional testing by abstracting JMeter, Gatling, Locust.io, and Selenium WebDriver behind a YAML-based configuration interface.
Yes, if you need a unified interface to orchestrate performance or functional tests across multiple engines. Taurus is production-stable, actively maintained, permissively licensed, and has low install friction. The main constraint is that you must separately provision the underlying test engines (JMeter, Gatling, Locust.io, or Selenium WebDriver) it wraps; Taurus itself is a coordinator, not a standalone test runner. Worth installing for teams standardizing on YAML-based test definitions across CI/CD pipelines.
Install
bzt on PyPI
pip
pip install bztuv
uv add bztpoetry
poetry add bztInstalling bzt
Before you install
Low install friction; pure Python wheel distribution. Active maintenance with a release within 60 days. Supports Python 3.6 and later versions across Linux, macOS, and Windows.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; you may use, modify, and distribute Taurus freely provided you include the license notice.
Quickstart
pip install bzt
Create test.yml:
execution:
- concurrency: 10
ramp-up: 1m
hold-for: 1m30s
scenario: simple
scenarios:
simple:
requests:
- http://blazedemo.com/
Run: bzt test.yml
Underlying test engines (JMeter, Gatling, Locust.io, or Selenium WebDriver) must be installed separately; Taurus orchestrates but does not bundle them.
Verify before relying
- Whether all 22 runtime dependencies are required for basic operation or only for specific test engine backends.
- System resource requirements and typical memory footprint during test execution.
- Compatibility with the latest versions of underlying engines (JMeter, Gatling, Locust.io, Selenium).
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 22 — astunparse, colorlog, cssselect, fuzzyset2, h11, hdrpy, influxdb, lxml, molotov, progressbar33, psutil, python-socketio, pyyaml, requests, setuptools, terminaltables3, urllib3, urwid, websocket-client, Cython, pyvirtualdisplay, colorama |
| Maintenance | actively maintained — 60 days since the last release |
| First released | |
| Downloads | 812,700/month — #4,999 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bzt-1.16.51-py2.py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
locust-pluginsExtends Locust with plugins for load testing…
permissive · top 5,000 on PyPI
locust-cloudLocust Cloud is a client library for running…
permissive · top 5,000 on PyPI
zendriverZendriver is an async-first web automation…
agpl · top 15,000 on PyPI
pytest-seleniumpytest-selenium is a pytest plugin that…
copyleft · top 15,000 on PyPI
webdriver-managerAutomatically downloads, caches, and manages…
permissive · top 5,000 on PyPI
chromedriver-binaryDownloads and installs the chromedriver binary…
permissive · top 15,000 on PyPI
robotframework-selenium2libraryA Robot Framework library that wraps Selenium…
permissive · top 15,000 on PyPI
nodrivernodriver is an async browser automation library…
agpl · top 15,000 on PyPI
robotframework-seleniumlibrarySeleniumLibrary is a Robot Framework library…
permissive · top 5,000 on PyPI
locustLocust is a Python-based load testing framework…
permissive · top 5,000 on PyPI