BlazeMeter Reporting Service

Like it always happens with tools that focused on executing tests, they are unable to provide sufficient reporting functionality. As professional user, you need some centralized storage to be able to access test results in convenient and interactive way, compare different executions, see trends over time and collaborate with your colleagues. BlazeMeter.com offers such service, it has both commercial and free of charge versions.

BlazeMeter Report

Anonymous Usage

The simplest way to get a taste of BlazeMeter reporting is to use -report command-line switch. This will enable result feeding to service without any other settings required. You will receive the link for your report in the console text, and the link will be automatically opened in your system browser, see browser-open option for more tuning.

The official policy for BlazeMeter reports uploaded from Taurus, is that anonymous reports are kept for 7 days and if you're using your own account, then reports are kept according to the retention policy of your account. For details see the BlazeMeter service website.

Personalized Usage

If you want the results to be stored in your existing BlazeMeter account, you'll need to specify the reporting settings in your configuration file. Get the API token from BlazeMeter.com (find it under your Settings => API Keys) and put it into token option. Join key ID and secret with single colon:

modules:
  blazemeter:
    token: TDknBxu0hmVnJ7NqtG2F:DFadfgdsljasdfkKSKSDDFKSDFJKSDJFKSDJFsdjfksjfjDSF

Never put API key into your main config files!

Never post it to support forums!

It is recommended to place the token setting in your personal per-user config ~/.bzt-rc to prevent it from being logged and collected in artifacts.

Now you can use -report command-line switch, or you can set BlazeMeter reporting as part of your config, the test option specifies test name to use, project names group of tests:

reporting:
- module: blazemeter
  report-name: Jenkins Build 1
  test: Taurus Demo
  project: Taurus Tests Group
  upload-artifacts: true  # upload artifacts when test is finished

Advanced settings:

modules:
  blazemeter:
    address: https://a.blazemeter.com  # reporting service address
    data-address: https://data.blazemeter.com  # data service address
    browser-open: start  # auto-open the report in browser, 
                         # can be "start", "end", "both", "none"
    send-interval: 30s   # send data each n-th second
    report-times-multiplier: 1000  # multiplying factor for response times, advanced option
    timeout: 5s  # connect and request timeout for BlazeMeter API
    artifact-upload-size-limit: 5  # limit max size of file (in megabytes)
                                   # that goes into zip for artifact upload, 10 by default
    public-report: false  # set to true to create a public link to the report
    request-logging-limit: 10240 # use this to dump more of request/response data into logs, for debugging
    generate-failed-transactions: false  # opt-in: write failed_transactions.json for browser tests (default off)
 
    # following instructions will have effect when no per-reporter settings
    report-name: My Next Test  # if you will use value 'ask', it will ask it from command line
    test: Taurus Test
    project: My Local Tests

Note how easy is to set report settings from command line, i.e. from inside Jenkins build step:

bzt mytest.yml -o modules.blazemeter.report-name="Jenkins Build ${BUILD_NUMBER}"

Also, there is CLI alias -public to automatically set public-report=true.

Reporting a locally- or CI-executed run to BlazeMeter creates what BlazeMeter calls an external test. On accounts using BlazeMeter's latest reporting engine, this requires Taurus 1.17.0 or newer — older clients are prompted to upgrade and the run is not stored. Other accounts work with any version.

Failed Transactions Artifact (browser-based tests)

For browser-based (Selenium/Apiritif) runs you can have Taurus emit a generic `failed_transactions.json` artifact that categorizes each failed transaction into general errors, failed assertions, and failed embedded resources. This mirrors the error classification already used for JMeter results and is uploaded to BlazeMeter as part of the standard artifacts.zip.

The feature is opt-in and default off — existing runs are unaffected unless you set the flag:

modules:
  blazemeter:
    generate-failed-transactions: true   # default: false

execution:
  - executor: selenium
    scenario: my-browser-scenario

When enabled, after the run completes Taurus writes `failed_transactions.json` into the run's artifacts directory. Its transactions array entries split failures into errors (general), assertions (each carrying a name — recovered when possible, otherwise a synthetic assert::<transaction> fallback), and failedEmbeddedResources, keyed by the existing ERRTYPE_* classification.

Notes:

  • Browser tests emit an empty responseBodies list and may have a null rc (response code).
  • Runs with only passing transactions still produce a well-formed artifact with an empty

transactions list.

  • The JSON schema is an initial format subject to sign-off by the Taurus (Sparta) team.