Skip to content

mar10/stressor

Repository files navigation

logo stressor

Tests Latest Version License Documentation Status codecov Code style: black Released with: Yabs StackOverflow: stressor

Stress-test your web app.

Stressor is a tool, that runs a sequence of activities in one or more parallel sessions. The most common use case is to run a test script with HTTP commands against a web server, simulating a bunch of parallel user sessions. As a result we get metrics about reponse times, failures, resource usage, etc.

Stressor can be used for testing, benchmarking, load testing, or to generate test data. Stressor comes with prebuilt activities for HTTP-request and more, and can be extended by custom activity-plugins.

Test scripts can be defined as text files, using a special syntax, that is then executed by the stressor command line tool. Stressor is also an Open Source Python library that can be included into your own projects. This allows to define test scenarios programmtically.

Quickstart

  1. Install stressor (details)

  2. Create a new scenario folder. For example:

    $ stressor init ./scenario_1

    or alternatively import an existing HAR file as a starting point (details):

    $ stressor init ./scenario_1 --convert /path/to/output.har
  3. Edit the scripts as needed (users.yaml, main_sequence.yaml, scenario.yaml) (details)

  4. Run the script:

    $ stressor run ./scenario_1/scenario.yaml

    Use the --monitor option to view the progress in a separate window:

    $ stressor run ./scenario_1/scenario.yaml --monitor

    Use the --log argument to write output to a file or folder:

    $ stressor run ./scenario_1/scenario.yaml --no-color --log .

    (Hit Ctrl+C to stop.)

  5. Read The Docs for details.