Taurus : The Ultimate

Taurus, an open source test automation tool that extends and abstracts over JMeter (or Grinder or Gatling or Selenium, with more tool support upcoming) and helps to overcome various challenges.

Taurus is an acronym that stands for Test Automation Running Smoothly, which reflects its baseline mission – making the process of test configuration and execution as simple as possible. Taurus provides a simple way to create, run and analyze performance tests. It provides execution of JMX files, parametrizing via YAML, development of new tests in YAML, merging multiple JMX and YAML combinations, console, JUnit and BlazeMeter reporting.

Taurus provides:

  • extremely simple setup and upgrading
  • an easily-readable, version control friendly and unified DSL (Domain-specific language) to define load test scenarios
  • the ability to execute existing JMeter (or Grinder or Gatling or Selenium) tests
  • the ability to create new tests from scratch using the aforementioned DSL
  • the ability to merge multiple existing test scripts and/or DSL-driven tests into a single scenario
  • real-time reporting
  • multiple test output formats, including but not limited to:
  • a native results format of the underlying testing tool
  • integration with the blazemeter.com reporting service
  • console stats and pseudo-graphic charts during the test execution (which can be combined with the BlazeMeter integration
  • JUnit-compatible test results format
  • an easy way to define flexible pass/fail criteria. In case the results exceed a threshold, it is possible to automatically mark test(s) as failed
  • platform-independency – runs where Python and Java can run

Installing Taurus


There are two ways to install Taurus on Windows. The recommended way is to use the prebuilt installer that will install latest Taurus on your PC. However, if you already have Python installed, you can install Taurus manually with pip, Python package manager.

The installation process was tried on all supported Windows versions (7, 8, 10).

Installing Taurus With Prebuilt Installer

Download an installer and run it on your system. It will install local Python 3.6 and Taurus with all its dependencies.

After the installation is finished, you can run Taurus with bzt from command prompt. Also, you’ll have ‘Taurus’ shortcut in the Start menu.

Installing Taurus Manually

  1. Get Python 2.7 or 3.5+ from http://www.python.org/downloads and install it, don’t forget to enable “Add python.exe to Path” checkbox.
  2. Get latest Java from https://www.java.com/download/ and install it.
  3. Open Command Prompt with administrative privileges (find Command Prompt in main menu and chose Run as administrator from context menu). Then run the following command to update Python package manager to the latest version: pip install –upgrade pip wheel

4.Install Taurus by command: pip install bzt

Upgrading Taurus

To upgrade Taurus, open Command Prompt as administrator and run

pip install –upgrade bzt

Similarly for Linux and Mac OS installation refer here.

Docker Image:

To use it, create a directory, for example /tmp/my-test, put all configs and additional files like JMXses there, then start Docker like this:

sudo docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config.yml

Make note that /tmp/my-test was passed in -v Docker option, it’s crucial. Here’s below happened inside the container:

  1. Directory /tmp/my-test is mounted as /bzt-configs
  2. Current directory changed to /bzt-configs
  3. Taurus is started with the config files you specified: bzt /bzt-configs/my-config.yml

You can also specify multile config files in the docker run command with wildcards or as separate arguments like so:

sudo docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus *.yml
sudo docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config-1.json my-config-2.json

You can pass command-line options to Taurus through the Docker image. To do so, add the command line option at the end of the docker run command like so:

sudo docker run -it --rm -v /tmp/my-test:/bzt-configs blazemeter/taurus my-config-1.yml -o scenarios.sample.data-sources.0=data.csv

You can refer this blog for running Taurus by docker image.

Running a JMeter script by Taurus:

Taurus provides different executors for many open-source testing tools like JMeter, Selenium, Gatling, Grinder, and more. The default executor is JMeter so if you’ve already created a JMX file with JMeter, it’s very easy to run it with Taurus! Just use the bzt command followed by the JMX path. For example:

bzt <path of jmx file>

This command will initiate JMeter and run the JMX file. After a few seconds, you’ll be able to see a full screen dashboard with all the Taurus reports. This dashboard features ASCII-art graphs displaying key statistics and KPIs about your test – all while your tests are still running.

You can use ‘Taurus’ simple configuration syntax to create a test scenario as a YAML file. You can setup concurrency(No of Users) ,throughput ramp-up etc. It over ride the setting in script and easy to setup a scenario for a JMeter script:

Just put below code in a notepad and save it with extension .yml

- concurrency: 3
  throughput: 3
  ramp-up: 30s
  hold-for: 5m30s
    script: C:\NewLearning\Taurus\Jmeter_Script.jmx
- module: final-stats
  dump-xml: stats.xml
  dump-csv: Jmeter_Result.csv

Run JMeter script using YAML file by below command

bzt C:\PerformanceTesting\Scripts\perf_test_yaml.yml




Categories: Taurus

1 reply »

  1. To update Python package manager to the latest version (If above mentioned didn’t worked use this: pip install –-upgrade pip wheel

Leave a Reply