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.
-
Install stressor (details)
-
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
-
Edit the scripts as needed (users.yaml, main_sequence.yaml, scenario.yaml) (details)
-
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.)
-
Read The Docs for details.